Android 不同屏幕尺寸的布局文件夹

Android layout folders for different screen sizes

我有一个应用程序需要确保不同的设备从不同的布局文件夹中提取。我需要一个 Nexus 5 (1920 x 1080) 从与 Note 4 (2560 x 1440) 不同的文件夹中提取。

目前,无论文件夹名称的组合如何,它们都来自同一个文件夹。

我试过:

layout-xxhdpi & layout-xxxhdpi 

(他们都来自 xxhdpi)

layout-sw320dp & layout-xxhdpi

(它们都来自 layout-sw320dp

layout-large & layout-xlarge

(它们都来自 layout-large)

对于这种情况,正确的布局文件夹约定是什么?

实际上您需要添加以下文件夹:

  • layout-sw320dp(xhdpi 设备)
  • layout-sw340dp(xxhdpi 设备)
  • layout-sw380dp(xxxhdpi 设备)

仅当您确实需要在不同设备中使用另一个整体布局时,才必须添加文件夹。除此之外,仅使用具有适当布局结构的默认布局文件夹并在不同密度文件夹上提取尺寸。

根据Google device metrics, Note 4 and Nexus 5 both have xxhdpi density, but their widths and heights are different, so you should try playing with the smallestWidth qualifier. For example with this combination should work: layout-sw360dp & layout-sw480dp (You can read more about qualifiers here)

这是结构:

    res/layout
    res/layout-large
    res/layout-xlarge
    res/layout-sw600dp
    res/layout-sw720dp
    res/layout-sw800dp

所以这似乎是唯一对我有用的安排...

layout(Nexus 4 和 5)

layout-sw440dp-port(注 4,Nexus 6)

layout-sw720dp-port(三星 10" 平板电脑)

(我把 "port" 拿掉了,没用...);-)

感谢所有建议!