包括Android布局会选择hdpi / mdpi / ldpi布局和完整布局吗?

时间:2012-11-14 20:25:37

标签: android layout resources include dpi

假设我在主要的非DPI特定布局资源文件夹中有布局,并且该布局执行hdpi / mdpi / ldpi文件夹中存在的子布局<include>。我可以期望最终的膨胀布局聚合h / m / l-dpi子布局,具体取决于设备DPI,就像“完整”布局一样吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

虽然在帖子发布时我没有机会测试帖子的命题,但我有机会这样做,因此会回答我自己的问题,因为没有其他人这样做过。

是的,以下方案按预期工作(在API级别8测试):

布局/ main.xml中:

... <include layout="@layout/included"/> ...

layout / included.xml:

<merge xmlns:android="http://schemas.android.com/apk/res/android">
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="GENERIC included fragment"/>
</merge>

layout-ldpi / included.xml:

<merge xmlns:android="http://schemas.android.com/apk/res/android">
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="LOW-DPI included fragment"/>
</merge>

在QVGA设备上运行应用程序会根据需要呈现包含部分来自LDPI目录的视图,而非LDPI设备从布局目录中获取默认值。