ANDROID提供了两种朝向的选择(Portrait和Landscape),对于大部分应用来说,这是个很方便的功能。但是对于某些应用而言,比如说游戏,却不希望朝向改变,换句话说,无论用户改不改变设备的朝向,应用本身始终是一个固定的朝向。而且当朝向改变的时候,ANDROID系统会先将Activity销毁,再重新创建Activity。对于那些提供两种朝向的程序,请切记这一点。
那么怎样设置才能使Activity为固定朝向呢?其实很简单,只需要在AndroidManifest.xml文件中的Activity标签下添加如下所示的属性即可。
<activity android:name="TestActivity"
android:label="Test"
android:screenOrientation="portrait"
android:configChanges="keyboard|keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
android:screenOrientation即可设置Activity希望的朝向,可选择portrait或者landscape。
android:configChanges即设置忽略哪些系统的配置改变事件,而由程序自己处理,这样就不会被系统强制销毁再重新创建了,其中orientation即为朝向的改变。多项配置改变由符号|来分开。