为了横屏的避免这种重新onCreate()方法,我们解决方法是
在清单中配置
<activity android:configChanges="keyboardHidden|orientation|screenSize"
android:name="" />
keyboardHidden 表示键盘显示和隐藏
orientation 表示横竖屏显示
screenSize 表示适配大小屏幕
默认情况下,当"屏幕方向"或者"键盘显示隐藏",变化时都会销毁当前Activity
创建新的Activity
当我们在清单中配置完后,这时候我们横屏竖屏切换,或者键盘显示隐藏的时候
生命周期就会执行 onConfigurationChanged()方法,并且生命周期不会重新创建
另外,如果想在程序运行开始,包括运行期间都是横屏的,不会竖屏显示
在清单中配置
<!--横向模式-->
<activity
android:screenOrientation="landscape"
android:name="" />
<!--竖屏模式-->
<activity
android:screenOrientation="portrait"
android:name="" />
如果需求是当用户把手机横屏,这时候的操作和手机竖屏显示不一样
代码是:
//获取屏幕宽度
int width = getWindow().getWindowManager().getDefaultDisplay().getWidth();
//获取屏幕高度
int height = getWindow().getWindowManger().getDefaultDisplay().getHeight();
if(height > width){
//表示竖屏,因为竖屏的高度大于宽度
}else{
//表示横屏,因为横屏的高度小于宽度
}
在清单中配置
<activity android:configChanges="keyboardHidden|orientation|screenSize"
android:name="" />
keyboardHidden 表示键盘显示和隐藏
orientation 表示横竖屏显示
screenSize 表示适配大小屏幕
默认情况下,当"屏幕方向"或者"键盘显示隐藏",变化时都会销毁当前Activity
创建新的Activity
当我们在清单中配置完后,这时候我们横屏竖屏切换,或者键盘显示隐藏的时候
生命周期就会执行 onConfigurationChanged()方法,并且生命周期不会重新创建
另外,如果想在程序运行开始,包括运行期间都是横屏的,不会竖屏显示
在清单中配置
<!--横向模式-->
<activity
android:screenOrientation="landscape"
android:name="" />
<!--竖屏模式-->
<activity
android:screenOrientation="portrait"
android:name="" />
如果需求是当用户把手机横屏,这时候的操作和手机竖屏显示不一样
代码是:
//获取屏幕宽度
int width = getWindow().getWindowManager().getDefaultDisplay().getWidth();
//获取屏幕高度
int height = getWindow().getWindowManger().getDefaultDisplay().getHeight();
if(height > width){
//表示竖屏,因为竖屏的高度大于宽度
}else{
//表示横屏,因为横屏的高度小于宽度
}