在Android开发中,必须要考虑的一个问题是屏幕旋转的问题。比如G1,当推开键盘的时候,屏幕会自动切换为横向。默认状态的应用程序,会重新调用onCreate,相当于重新启动了一次应用程序。同时,layout可能因为横屏带来不能合理适配的问题。
在处理这个问题之前,先介绍一下如何在模拟器测试屏幕旋转。其实很简单:在模拟器窗口按左Ctrl+F11,即可切换屏幕的方向。
很多时候,为了开发工作相对简单,可以把应用定位固定横向或固定纵向的方式。要实现这个目的,只需要在AndroidManifest.xml里声明Activity的时候加上一个属性:android:screenOrientation,属性取值landscape为固定横屏、portrait为固定纵向。
另外,为了解决旋屏和键盘切换引起的程序重启问题,还需要增加一个属性:android:configChanges。这个属性可以理解为一个监听器,它将拦截旋屏和键盘切换事件,阻止程序重启而变为回调onConfigurationChanged方法。这里常用的属性取值为:keyboardHidden|orientation
