首页 文章

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

提问于
浏览
0

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

orientation=1

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

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

4 回答

  • 0

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

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

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

    EDIT: 如果您希望以编程方式启用/禁用自动旋转,则可以使用以下代码:

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

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

  • 2

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

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

  • 0

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

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

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

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

    # Makes portrait only
    persist.panel.orientation=90
    

    要在Build树中添加:添加相同的内容

    device/<vendor>/<processor>/system.prop
    

相关问题