DVDVSTUDIO版权所有,转载请保留本文链接!
关于ANDROID中ACTIVITY的横竖屏切换问题可以通过AndroidManifest.xml文件中的Activity来配置:
android:screenOrientation=[“unspecified” | “user” | “behind” | “landscape” | “portrait” | “sensor” | “nosensor”] |
screenOrientation 用来指定Activity在设备上的显示方向,每个值代表如下含义:
“unspecified” | 默认值,由系统来判断显示方向;判断的策略是和设备相关的,所以不同的设备会有不同的显示方向。 |
“user” | 用户当前首选的方向 |
“behind” | 和该Activity下面的那个Activity的方向一致(在Activity堆栈中的) |
“landscape” | 横屏显示 |
“portrait” | 竖屏显示 |
“sensor” | 由物理的感应器来决定,如果用户旋转设备,屏幕会横竖屏切换。 |
“nosensor” | 忽略物理感应器,这样就不会随着用户旋转设备而更改了。 |
注意:
给Activity加上android:configChanges=”keyboardHidden|orientation”属性,横竖屏切换时,就不会重启Activity,而是去调用onConfigurationChanged(Configuration newConfig)。这样可以在该方法里调整显示方式。(如果不配置此属性,横竖屏切换时,Activity将会重新启动,此时记得要保存重要的信息)
If(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { //横屏 }
If(newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { //竖屏 } |