屏幕旋转:AndroidManifest清单文件中,Activity的screenOrientation属性详解
screenOrientation是用于控制Acivity的屏幕方向的属性,他的参数有16个,下面介绍一个各个参数的功能(部分属性容易混淆,于是我建了16个Activity分别测试了在系统旋转打开和关闭情况下的测试,整理如下)
参数 值 功能 自动旋转打开 自动旋转关闭 unspecified
-1 让系统决定Activity的方向,由传感器和系统设置共同决定 四个方向 不旋转 landscape
0 强制为横屏,忽略传感器和系统设置 不旋转 不旋转 portrait
1 强制为竖屏,忽略传感器和系统设置 不旋转 不旋转 user
2 使用用户当前的首选方向 四个方向 不旋转 behind
3 与Activity堆下的Activity方向相同 四个方向 不旋转 sensor
4 根据传感器来决定方向,忽略系统设置 四个方向 四个方向 nosensor
5 忽略系统设置,忽略传感器 不旋转 不旋转 sensorLandscape
6 默认使用横屏,忽略系统设置,但是可以响应传感器的操作 横屏的两个方向 横屏的两个方向 sensorPortrait
7 默认使用竖屏,忽略系统设置,但是可以响应传感器的操作 竖屏两个方向 竖屏两个方向 reverseLandscape
8 默认使用横屏,与默认横屏翻转180度的方向 只能使用翻转的横屏 只能使用翻转的横屏 reversePortrait
9 默认使用竖屏,与默认竖屏翻转180度的方向 只能使用翻转的竖屏方向 只能使用翻转的竖屏方向 fullSensor
10 由传感器决定,能旋转为任意方向(sensor只能旋转默认横竖屏) 四个方向 四个方向 userLandscape
11 默认横屏,但是能够根据传感器旋转到任意横屏方向 横屏的两个方向 默认的横屏方向 userPortrait
12 默认竖屏,但是能够根据传感器旋转到任意竖屏方向 竖屏的两个方向 默认的竖屏方向 fullUser
13 允许使用用户的任意方向 四个方向 不旋转 locked
14 锁定为当前方向 不旋转 不旋转
已经列出了所有的情况,由表可知16个参数完全能满足所有的旋转需求.
landscape:限制界面为横屏,旋转屏幕也不会改变当前状态。
portrait:限制界面为竖屏,旋转屏幕也不会改变当前状态。
:根据传感器定位方向,旋转手机90度,180,270,360,界面都会发生变化。
sensorPortrait:(竖屏的旋转,不会出现横屏的现象)根据传感器定位方向,旋转手机180度界面会旋转。
unspecified:由系统选择显示方向,不同的设备可能会有所不同。(旋转手机,界面会跟着旋转)
user:用户当前的首选方向。