假设我在主要的非 DPI 特定布局资源文件夹中有一个布局,并且该布局执行一个<include>
存在于 hdpi/mdpi/ldpi 文件夹中的子布局。我是否可以期望最终的膨胀布局根据设备 DPI 聚合 h/m/l-dpi 子布局,就像“完整”布局一样?
谢谢!
虽然在发帖时我没有机会测试帖子的提议,但我有机会这样做,因此将回答我自己的问题,因为没有其他人这样做过。
是的,以下场景按预期工作(在 API 级别 8 测试):
布局/main.xml:
... <include layout="@layout/included"/> ...
布局/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>
布局-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 设备会从布局目录中获取默认部分。