随笔博文

屏幕旋转:AndroidManifest清单文件中,Activity的screenOrientation属性详解

2023-10-31 14:41:06 michael007js 131

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:限制界面为竖屏,旋转屏幕也不会改变当前状态。

sensor:根据传感器定位方向,旋转手机90度,180,270,360,界面都会发生变化。

sensorLandscape:(横屏的旋转,不会出现竖屏的现象)根据传感器定位方向,旋转手机180度界面旋转。一般横屏游戏会是这个属性。

sensorPortrait:(竖屏的旋转,不会出现横屏的现象)根据传感器定位方向,旋转手机180度界面会旋转。

unspecified:由系统选择显示方向,不同的设备可能会有所不同。(旋转手机,界面会跟着旋转)

user:用户当前的首选方向。

nosensor:不由传感器确定方向。旋转设备的时候,界面不会跟着旋转。初始界面方向由系统提供。


首页
关于博主
我的博客
搜索