0

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

orientation=1

我的问题是:我必须编辑哪个文件才能将设备方向更改为标准横向,以便上述应用程序向我显示横向。(手机已root)

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

4

4 回答 4

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);
}

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

于 2012-04-17T10:00:57.737 回答
2

嗨,这是你要找的吗?这将使应用程序方向保持横向。

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

于 2012-04-17T10:22:17.317 回答
1

该线程已有 5 年历史-我正在回答以帮助稍后到达这里的人。我想这里的每个答案都在谈论特定于应用程序的方向更改。以下是更改整个设备方向时应考虑的事项

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

# Makes portrait only
persist.panel.orientation=90

要添加到构建树中:添加相同的

device/<vendor>/<processor>/system.prop
于 2017-03-23T23:44:05.363 回答
0

如果您想将方向保持为横向,请将其添加到您的 Manifest.xml 中:

<activity android:name="MyActivity" android:screenOrientation="landscape"></activity>
于 2012-04-17T10:04:50.477 回答