0

在我的 android 应用程序中,我在drawable文件夹和drawable-hdpi不同名称(svs.jpg 和 svs1.jpg)中都有相同的图像

首先,我使用了 svs.jpg (可绘制文件夹)

<ImageView 
    android:id="@+id/image1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/svs"
 />

在一个系统中它运行没有任何障碍,但它在另一个系统中显示错误(Inflate exception error在二进制 xml 文件中)。所以我将图像 svs1.jpg 用作android:background="@drawable/svs1". 现在它正在工作..

如果我在第一个系统上使用 svs1.jpg,它会显示错误。我不明白这个问题。有人可以说为什么会这样吗?

4

2 回答 2

1

不同资源文件夹中的图像具有相同的名称,因此设备将选择要使用的图像。

如果他们没有,我想某些设备正在“drawable”中寻找图像名称,如果他们没有找到它就会崩溃,其他设备会在“device-hdpi”文件夹中查找,如果他们没有找到就会崩溃找到它。

有关此处支持多屏的更多信息。

于 2013-04-23T06:54:36.467 回答
1

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

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

res/layout-large/my_layout.xml

和图片来自

res/drawable-mdpi/my_icon.png

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

所以你给所有可绘制文件夹中的图像名称相同..你的设备默认情况下会决定从哪个文件夹中获取图像,你不必担心tat。

并确保正确的图像位于正确的文件夹中。

于 2013-04-23T07:01:57.500 回答