【问题标题】:Android tools:screenOrientation equivalentAndroid 工具:screenOrientation 等效
【发布时间】:2021-06-20 13:44:46
【问题描述】:

我有一个始终以横向运行的 Android 应用。在这方面工作得很好。

如果 Intellij/Android Studio 编辑器 ITSELF 可以被告知这是以横向模式加载(即不要尝试以纵向模式加载我的活动——我试图让自己免于鼠标点击),我真的很喜欢编辑,我真的开始反感了)。

按照通常的标准,将 Activity 设置为横向的指令类似于 android:screenOrientation='landscape',因此人们会认为等价于 tools:screenOrientation='landscape',但这不是一种选择。

有没有一种方法可以让编辑器将活动加载到横向中?如果有,是什么?

【问题讨论】:

    标签: android android-studio intellij-idea


    【解决方案1】:

    Android Studio 目前不支持此功能。

    一种解决方法是在 layout 文件夹中创建相同的布局资源,名称相同但内容为空(永远不会使用),然后将实际布局放置在 Android Studio 始终打开的 layout-land 文件夹中默认为横向。

    示例: 假设您有一个名为 activity_main.xml

    的布局

    使用此内容(或您选择的任何其他视图)创建一个空布局

    <?xml version="1.0" encoding="utf-8"?>
    <ViewStub xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
    

    并将其放在res/layout 文件夹中,作为占位符,不警告编译器

    然后用真正的横向布局创建另一个activity_main.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <!-- your real layout -->
    
    </androidx.constraintlayout.widget.ConstraintLayout>
    

    并将其放入res/layout-land 文件夹中。

    现在每次你想打开一个布局,只要打开layout-land,它就会自动在布局编辑器中横向打开

    【讨论】:

    • 我有点担心使用这种方法时使用横向布局的过渡可能不是无缝的,但这将是一个“学生练习”,所以我批准了这个作为答案,希望没有更多的问题要遵循:)
    • 是的,这不是人们期望的答案,但目前这是唯一“可靠”的解决方法。可能这是 Android Studio 从未研究过的特殊用例
    【解决方案2】:

    我认为这是不可能的。 默认情况下,Android Studio 将始终为您提供纵向模式。

    左 Ctrl + F11 是在模拟器中更改方向的快捷方式,但我不知道这种快捷方式是否适用于 XML 布局。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-25
      • 2011-03-08
      • 1970-01-01
      • 2011-09-15
      • 1970-01-01
      • 2013-06-25
      • 2023-03-11
      相关资源
      最近更新 更多