如何在手机中仅启用纵向和反向肖像,“sensorPortrait”无法在手机上使用?

时间:2015-03-16 14:15:05

标签: android android-activity orientation portrait

我无法弄清楚为什么在活动清单中设置“sensorPortrait”属性不能使活动进入反向纵向。这是我在清单

中设置的方式
    <activity
        android:name=".MainActivty"
        android:label="Testing"
        android:screenOrientation="sensorPortrait"
        android:windowSoftInputMode="stateHidden"
        android:configChanges="orientation">
    </activity>

以上代码对我来说无法在Moto E(4.4.4)或Galaxy S3(4.3)上获得reversePortrait和肖像,但我可以确认它适用于Nexus 7(5.0.1)平板电脑,I尝试了其他几个答案,但这个似乎是最简单的,它似乎对我的'手机'不起作用,我错过了一些与此相关的信息吗?

我尝试了以下链接,这与我的问题类似,但对于此

似乎没有任何帮助

Activity in portrait or reverse portrait only

目前使用标志“sensorPortrait”,它的行为就像在手机中设置“肖像”一样。

1 个答案:

答案 0 :(得分:1)

如果查看PhoneWindowManager source code,您可以看到它检查内部值config_allowAllRotations并使用它来确定是否允许180度旋转(即手机上的反向纵向)。

使用default value to false,这表示在手机上禁用了反向肖像。您会注意到sw600dp value(即平板电脑)是真的,因此您可以使用所有旋转,包括平板设备上的反向纵向。