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