android的横竖屏切换,也会发生不少问题。
1. 锁定屏幕方向,禁止切换:
在AndroidManifest.xml中的Activity参数中加上
android:screenOrientation
=
"landscape" 保持横屏
OR
android:screenOrientation="portrait" 保持竖屏
2.每次横竖屏切换时,会重启Activity,所以还要禁止切换屏幕时重启Activity,同样在在AndroidManifest.xml中的Activity参数中加上(当然,锁定了屏幕那就不需要这个了~)
android:configChanges="keyboardHidden|orientation"
3.使用模拟器的时候,可以使用F12或Ctrl+F11来切换横竖屏幕
4.如果横竖屏切换需要根据屏幕再适配布局,可以重写onConfigurationChanged(Configuration newConfig)的方法
判断一下newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE
还是
newConfig.orientation==Configuration.ORIENTATION_PORTRAIT
然后根据需要,重新setContentView(R.layout.main_XXX);
5.补充一个,在JAVA代码中想要设置横竖屏的话 可以用
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
不过这句感觉只有在特殊场合适用~