6

我在res文件夹中创建了layout-largelayout-normallayout-xlarge ,并将所有 xml 文件复制到了这些布局文件夹中

首先,我想问一下layout默认)和 layout-normal文件夹有什么区别?

我知道如果我在大屏幕上运行应用程序,应用程序将从layout-xlarge获取 xml 文件。因此,我在tap2 10.1中使用 FrameLayout 使layout-xlarge中的所有元素看起来像我想要的那样,但是当我在 note2 或 s3 mobile中运行它时,它看起来不同,因为屏幕尺寸不一样

那么如何让应用程序以 tap2 10.1 (1,280 x 800) 和 note2 或 s3 mobile (1,280 x 720) 大小运行?

4

2 回答 2

12

这里有官方说明如何支持所有屏幕尺寸。如前所述,布局文件夹是:

res/layout/my_layout.xml             // layout for normal screen size ("default")
res/layout-small/my_layout.xml       // layout for small screen size
res/layout-large/my_layout.xml       // layout for large screen size
res/layout-xlarge/my_layout.xml

所以layoutlayout-normal文件夹是一样的,但是在新的Android API 中不再有layout-normal 文件夹,而只有layout 文件夹。此外,您还必须知道在应用程序运行时是否没有特定的屏幕尺寸布局,默认情况下,应用程序采用“默认”布局。

编辑

您可以在同一个文件夹中拥有不同的屏幕分辨率,您可以从这些图像中了解到:

在此处输入图像描述

如果您想要针对特定​​分辨率的更具体的布局,则必须在运行时检测确切的屏幕尺寸。

于 2013-07-28T20:02:01.203 回答
0

Supporting Multiple Screens开始,您应该像这样定义布局文件夹

res/layout/my_layout.xml              // layout for normal screen size ("default")
res/layout-large/my_layout.xml        // layout for large screen size
res/layout-xlarge/my_layout.xml       // layout for extra-large screen size
res/layout-xlarge-land/my_layout.xml  // layout for extra-large in landscape orientation

(屏幕类型基于)

xlarge screens are at least 960dp x 720dp
large screens are at least 640dp x 480dp
normal screens are at least 470dp x 320dp
small screens are at least 426dp x 320dp
于 2016-10-21T07:39:47.283 回答