如何在Android中为不同的布局加载不同的可绘制资源?

时间:2013-04-03 10:46:07

标签: android android-layout

在我的应用程序中,我有两个替代布局文件和两个可选的可绘制资源图像。我的res目录结构如下:

res/drawable-hdpi/image.png  
res/drawable-mdpi/image.png

res/layout-large/main.xml
res/layout/main.xml
清单文件中的

<supports-screens 
        android:resizeable="true"
        android:smallScreens="true" 
        android:largeScreens="true"
        android:anyDensity="false"/>

我的应用加载了布局文件res/layout-large/main.xmlres/layout/main.xml,但两种布局都加载了来自res/drawable-mdpi/image.png的图片,并且未加载res/drawable-hdpi/image.png。请在这方面帮助我,我将非常感谢你的善举。提前谢谢。

2 个答案:

答案 0 :(得分:2)

我认为你要找的是使用configuration qualifiers.

看起来你真的误解了这些文件夹的作用。 你的机器人将根据你运行它的设备的屏幕尺寸像素密度来选择文件夹

如果您的设备具有中等像素密度和大屏幕。因此,它从res文件夹中选择具有这些限定符的资源。

RES /布局大/ my_layout.xml

和来自

的图片
res/drawable-mdpi/my_icon.png

您无法告诉您的设备从hdpi文件夹中获取图像,因为它没有高像素密度。

所以你可以创建一个名为

的文件夹
res/drawable-large-mdpi/ 

专门针对您的设备。

或者只是确保正确的图像位于正确的文件夹中。

答案 1 :(得分:0)

您可以创建drawable-large-mdpi文件夹,以便为布局大文件夹下的布局使用drawable。