Activity横竖屏切换
横竖屏切换生命周期的控制
1、高版本4.0以上,Activity生命周期不会变化(三个)
android:configChanges="orientation|keyboardHidden|screenSize"
2、低版本4.0一下,
Activity生命周期不会变化(两个)
android:configChanges="orientation|keyboardHidden"
3、横竖屏切换的时候 不会重新执行生命周期的方法, 界面仍然会变化
android:screenOrientation="landscape"
android:screenOrientation="portrait"
横竖屏切换界面 不再变化.
默认情况下,当“屏幕方向”或“键盘显示隐藏” 变化时都会销毁当前Activity,创建新的Activity。如果不希望重新创建Activity实例,可以按如下配置Activity:
<activity android:name=".MainActivity" android:configChanges="keyboardHidden|orientation">
上面的android:configChanges属性指定了要捕获“屏幕方向”和“键盘显示隐藏”变化,当捕获到这些变化后会调用Activity的onConfigurationChanged()方法。
默认情况下(没有配置android:configChanges属性):
l竖屏切横屏,销毁当前Activity之后,创建一个新Activity实例。
l横屏切竖屏,销毁当前Activity之后,创建一个新Activity实例,新的Activity实例很快就被销毁,接着又会创建一个新Activity实例。如果只希望创建一个实例,可以配置android:configChanges="orientation"
|
1、AndroidManifest.xml中配置 a) android:screenOrientation="landscape" 横屏显示 b) android:screenOrientation="portrait" 竖屏显示 c) android:screenOrientation="sensor" 传感器,需要手机开启屏幕旋转功能 d) android:configChanges="orientation|keyboardHidden|screenSize" 表示对屏幕方向,屏幕键盘隐藏,屏幕大小不敏感了 注意:Android2.3只需要android:configChanges="orientation|keyboardHidden就可以了 而Android4.0以上,需要配置以上三个android:configChanges="orientation|keyboardHidden|screenSize" 样例: <activity
android:configChanges="orientation|keyboardHidden|screenSize"
android:name="cn.zengfansheng.activityLifeCycle.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
|
|