Jelly Bean 4.3 (API 18) 添加了几个新的 screenOrientation 值。
http://developer.android.com/reference/android/R.attr.html#screenOrientation
我首先想:“方向”和“旋转”之间有区别吗?还是文档只是使用了不一致的措辞?
然后:
未指定
没有指定偏好:让系统决定最佳方向。这将是下面的活动选择的方向,或者如果此活动是任务的底部,则用户的首选方向。如果用户通过设置基于传感器的设备旋转明确关闭基于传感器的方向,则将被忽略。如果不是默认情况下,将考虑基于传感器的方向,并且方向将根据用户旋转设备的方式而改变。对应于 SCREEN_ORIENTATION_UNSPECIFIED。
用户
使用用户当前首选的手机方向。对应于 SCREEN_ORIENTATION_USER。
全用户(新)
尊重用户基于传感器的旋转偏好,但如果启用了基于传感器的旋转,则无论设备通常会做什么,都允许屏幕在所有 4 个可能的方向上旋转(例如,某些设备通常不会使用 180 度旋转) . 对应于 SCREEN_ORIENTATION_FULL_USER。
有什么不同?在目前的实践中,如果在系统范围内启用了旋转,我相信这setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED)
是告诉活动基于传感器旋转的方法。那么有什么fulluser
不同呢?
同样地,
无传感器
始终忽略方向传感器确定的方向:当用户移动设备时,显示屏不会旋转。对应于 SCREEN_ORIENTATION_NOSENSOR。
锁定(新)
屏幕被锁定为其当前旋转,无论是什么。对应于 SCREEN_ORIENTATION_LOCKED。
有什么区别吗?