如何更改android中的设备方向?

时间:2012-04-17 09:53:44

标签: android orientation device

我正在使用Android手机开发自助服务终端系统。方便使用纵向模式作为标准模式,如果我将其旋转到我的需要,它将与传感器一起切换到横向。我的问题是这个设备编程布局会在运行时做很多并排效果,因为它总会切换到纵向,然后记住传感器方向并切换回横向。这意味着纵向模式的实现对我的开发来说不是很舒服。 现在我在开发工具中看到配置应用程序,它向我显示了设备配置:

orientation=1

我的问题是:我必须编辑哪个文件才能将设备方向更改为标准横向,以便上面的应用向我显示横向。 (电话扎根)

我希望将全局从手机纵向模式更改为平板电脑横向模式,而不仅仅是单个应用程序!

4 个答案:

答案 0 :(得分:4)

您需要做的是编辑AndroidManifest.xml文件并指定活动的方向,并自行处理方向更改:

<activity android:name="MyActivity"
          android:label="@string/app_name"
          ...
          android:configChanges="orientation|keyboardHidden"
          ...
          android:screenOrientation="landscape">

然后,无论设备方向如何,您的活动都将始终以横向模式运行。

编辑:如果您想以编程方式启用/禁用自动轮播,则可以使用以下代码:

public static void setAutoOrientationEnabled(ContentResolver resolver, boolean enabled)
{
    Settings.System.putInt(resolver, Settings.System.ACCELEROMETER_ROTATION, enabled ? 1 : 0);
}

但请注意,这会影响设备上运行的所有应用程序。

答案 1 :(得分:2)

你好,这就是你要找的?这会使应用程序方向成为景观。

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

答案 2 :(得分:1)

这个帖子已经5岁了 - 我正在回答帮助有人到达这里的时间.. 我想这里的每个ans都会讨论应用程序特定的方向变化。以下是您应该考虑更改完整设备的方向

运行时:在/system/build.prop中添加: -

# Makes portrait only
persist.panel.orientation=90

添加构建树:在

中添加相同内容
device/<vendor>/<processor>/system.prop

答案 3 :(得分:0)

如果您希望将方向保持为横向,请在Manifest.xml中添加:

<activity android:name="MyActivity" android:screenOrientation="landscape"></activity>