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

Ami*_*ith 2 android android-layout

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

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

3.3 WQVGA (240x400 ldpi)

3.4 WQVGA (240x432 ldpi)
Run Code Online (Sandbox Code Playgroud)

我们可以制作文件夹之类的吗 layout-ldpi 3.3

layout-ldpi 3.4

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

请帮我

Dig*_*ist 5

这些教程会帮助你

1 - Text Tutorial Android 支持多屏

2 -视频教程多屏

为小解!

是的,你可以做到。

支持多屏

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  
Run Code Online (Sandbox Code Playgroud)

@亨利汤普森

然后你需要为每个同名创建一个 main.xml。

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

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

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

支持不同的屏幕尺寸

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();
int height = display.getHeight();
Run Code Online (Sandbox Code Playgroud)

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

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

第三次更新 -如何找到它的 ldpi , mdpi 等的答案

已经在这里回答@solution ldpi mdpi