我们可以为不同的ldpi屏幕创建不同的布局XML文件吗?

时间:2013-12-03 09:20:17

标签: android android-layout

我们可以为不同的ldpi sceens创建不同的布局XML文件。

现在单个文件放在layout-ldpi文件夹中。我想为以下模拟器大小创建两个布局XML文件

3.3 WQVGA (240x400 ldpi)

3.4 WQVGA (240x432 ldpi)

我们可以制作文件夹吗? layout-ldpi 3.3

layout-ldpi 3.4

并将不同的XML放在两个文件夹中是否可能?

请帮帮我

3 个答案:

答案 0 :(得分:4)

这些教程可以帮助您

1 - Text Tutorial Android Supporting multiple screens

2 - Video Tutorial Multiple Screens

小解释!

是的,你可以做到。

<强> Supporting Multiple Screens

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      // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation

res/drawable-mdpi/my_icon.png        // bitmap for medium density
res/drawable-hdpi/my_icon.png        // bitmap for high density
res/drawable-xhdpi/my_icon.png  

@Henry Thompson

然后你需要为每个具有相同名称的人创建一个main.xml。

通过将布局XML文件放在不同的文件夹中,您可以根据屏幕密度让Android加载正确的文件。例如,如果布局被称为&#34; main.xml&#34;:

  • 将文件放在/res/layout-ldpi/main.xml中意味着使用它 仅在低密度(或以上)
  • 将文件放在/res/layout-mdpi/main.xml中意味着使用它 仅在中等密度(或以上)
  • 将文件放在/res/layout-hdpi/main.xml中意味着它仅用于高 密度(或以上)

  • 将文件放在/res/layout-xhdpi/main.xml中意味着它仅用于超高密度

<强> Supporting Different Screen Sizes

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();
int height = display.getHeight();
  

对于WVGA屏幕,我可以加载布局,可以根据需要进行更改   屏

if (width == 480 && height == 800)
    {
        setContentView(R.layout.main); // load different layout as per screen size or specifications
    }

第3次更新 - 回答如何查找其ldpi,mdpi等

已经在这里回答@ solution ldpi mdpi

答案 1 :(得分:-1)

是的,绝对可以......您可以根据要求更改不同文件夹中的布局......

答案 2 :(得分:-1)

您可以简单地获取任何设备的屏幕尺寸并进行调整。