1

我有一个适用于手机的简单应用程序,其结构如下:
在此处输入图像描述


现在,当用户在平板电脑或横向模式下使用应用程序时,我想更好地利用未使用的空间。差不多是这样的:

在此处输入图像描述

有什么方法可以检查(分辨率或设备类型),我可以
在 onCreate 上将 xml 布局从 phone_layout.xml 切换到 tablet_layout.xml?

或者我应该为此使用片段?
谢谢。

4

3 回答 3

1

您可以利用资源桶

基本上,您必须在两个不同的资源文件夹中创建两个同名的布局文件:

  • res/layout/your_layout.xml:这将是您对除下面提到的任何其他设备的默认布局
  • res/layout-sw600dp/your_layout.xml:此布局将由最小宽度为 600 dp 的设备选择(平板电脑属于此类)

只要您将布局命名为相同,该系统就足够智能,可以根据正在运行的设备选择正确的布局。

于 2015-05-04T15:35:13.447 回答
1

参考 Android 文档:http: //developer.android.com/training/basics/supporting-devices/screens.html

您可以使用相同的名称设置多个布局,但在指示屏幕分辨率的不同文件夹下(它可用于其他配置,如:语言、屏幕方向和 dp)

MyProject/
   res/
       layout/
           main.xml
       layout-large/
           main.xml

PS这种方法可以用于drawables

MyProject/
   res/
       drawable-xhdpi/
           awesomeimage.png
       drawable-hdpi/
           awesomeimage.png
       drawable-mdpi/
           awesomeimage.png
       drawable-ldpi/
           awesomeimage.png
于 2015-05-04T15:35:54.170 回答
-1

对于平板电脑,在其中创建一个文件夹/res/layout-sw600dp/activity_layout.xml用于垂直查看,并在其中创建一个文件夹/res/layout-sw600dp-land/activity_layout.xml 用于水平查看。

对于手机来说,除了 中的普通文件夹外/res/layout/activity_layout.xml,再添加一个文件夹/res/layout-land/进行横向查看。

对于activity_layout.xml创建的文件夹中的各个图像/drawables- sw600dp/drawable-sw600dp-land用于横向显示。

https://github.com/ciromelody/MyTabletPhone

于 2019-03-17T15:04:45.267 回答