我希望我的活动在设备转动时不要旋转。 使用
android:screenOrientation="nosensor"
会禁用方向更改,但有一点需要注意:活动会切换到纵向模式。我只是希望它保持当前的方向(例如,如果在活动开始时屏幕处于横向,则即使在旋转设备时也保持横向模式)。这不是“nosensor”似乎在做什么。它似乎只是与“肖像”完全相同的行为。我使用它错了吗?
我尝试使用setRequestedOrientation( getRequestedOrientation )
,但如果当前请求的方向未定义,那么我的活动将会轮换。我只是想“锁定”有效的屏幕旋转。
答案 0 :(得分:3)
您可以做的是告诉Android您将自己处理方向配置更改。您可以通过为orientation
标记的android:configChanges
属性指定activity
来执行此操作。
<activity android:name=".MyActivity"
android:configChanges="orientation"
android:label="@string/app_name">
有关详细信息,请参阅此链接 http://developer.android.com/guide/topics/resources/runtime-changes.html#HandlingTheChange
至于为什么nosensor
不起作用,是因为文档中提到了它。
确定方向而不参考物理方面 方向传感器。传感器被忽略,因此显示器不会 根据用户移动设备的方式进行旋转。除此之外 区别,系统使用相同的策略选择方向 至于“未指明”的设置。
以及文档中的unspecified
默认值。系统选择方向。政策呢 使用,因此在特定环境中做出的选择可能会有所不同 从设备到设备。