Android 工具:screenOrientation 等效

Posted

技术标签:

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

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

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

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

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

【问题讨论】:

【参考方案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_
    android:layout_ />

并将其放在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_
    android:layout_>

    <!-- your real layout -->

</androidx.constraintlayout.widget.ConstraintLayout>

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

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

【讨论】:

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

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

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

【讨论】:

以上是关于Android 工具:screenOrientation 等效的主要内容,如果未能解决你的问题,请参考以下文章

Android开发调试工具ADB

Android 逆向Android 逆向通用工具开发 ( Android 逆向通用工具组成部分 | 各模块间的关联 )

Android 逆向Android 进程注入工具开发 ( 总结 | 源码编译 | 逆向环境搭建使用 | 使用进程注入工具进行逆向操作 ) ★★★

Android工具与其它

android工具

Android 逆向Android 进程注入工具开发 ( 注入代码分析 | 注入工具的 main 函数分析 )