android onconfigurationchanged屏幕转向,Android旋转屏幕时onConfigurationChanged()方法未被调用...

代码如下:

AndroidManifest.xml

android:name=".Activity1"

android:label="@string/app_name"

android:configChanges="orientation">

Activity1.java

@Override

public void onConfigurationChanged(Configuration newConfig) {

super.onConfigurationChanged(newConfig);

Log.d(TAG, "onConfigurationChanged");

if(newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){

Log.d(TAG, "竖屏");

}

if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE){

Log.d(TAG, "横屏");

}

}

旋转屏幕后,程序重新加载Activity,onConfigurationChanged方法未被调用.

08-11 11:19:21.716 23435-23435/com.zm.kingsoft.myapplication D/Activity1﹕ onPause

08-11 11:19:21.716 23435-23435/com.zm.kingsoft.myapplication D/Activity1﹕ onStop

08-11 11:19:21.716 23435-23435/com.zm.kingsoft.myapplication D/Activity1﹕ onDestroy

08-11 11:19:21.736 23435-23435/com.zm.kingsoft.myapplication D/Activity1﹕ onCreate

08-11 11:19:21.746 23435-23435/com.zm.kingsoft.myapplication D/Activity1﹕ onStart

08-11 11:19:21.746 23435-23435/com.zm.kingsoft.myapplication D/Activity1﹕ onResume

解决方法:

AndroidManifest.xml中设置android:configChanges="orientation|screenSize“

原因解释:

自从Android 3.2(API 13),screen size也开始跟着设备的横竖切换而改变。

所以,在AndroidManifest.xml里设置的MiniSdkVersion和 TargetSdkVersion属性大于等于13的情况下,如果你想阻止程序在运行时重新加载Activity,除了设置"orientation",还必须设置"ScreenSize"。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值