Android-如何在xml配置中为不同的屏幕大小锁定不同的屏幕方向



有没有办法为不同的屏幕大小锁定不同的屏幕方向?那么,对于最小宽度小于600 dp的屏幕锁定纵向,而对于最小宽度大于600 dp的屏幕锁定横向?我知道这可以用setRequestedOrientation以编程方式完成,但它能以某种方式在xml资源中完成吗?在Android.manifest中,还是通过引用res文件夹中定义的不同资源值?

选项1:对AndroidManifest.xml中的每个活动使用以下代码:

android:screenOrientation="nosensor"

"nosensor"设置告诉你的应用程序使用设备的自然方向,如果用户旋转设备,该设置不会改变。因此,平板电脑将为您的应用程序使用横向,而手机将始终使用纵向。

接下来,您可以在res文件夹中创建一个名为layout land的文件夹,为横向原生设备(即平板电脑)创建一个单独的布局文件。将平板电脑的XML布局文件放入layout land文件夹中。

选项2:使用最小宽度限定符,如Android开发人员文档中所述:http://developer.android.com/training/multiscreen/screensizes.html#TaskUseSWQuali

在这种情况下,您将在res目录中创建一个名为layout-sw600dp的布局文件夹。在里面,您将为超过600dp的设备放置备用XML文件。例如,在线性布局或相对布局的顶级XML文件中,请确保包含以下内容:

android:orientation="horizontal"

在600dp以下设备的主XML文件中,您将强制它们垂直:

android:orientation="vertical"

相关内容

  • 没有找到相关文章

最新更新