4

我对将可绘制对象存储在各个文件夹中有两个疑问,即.. ldpi、mdpi..我在任何地方都找不到答案。

  1. 我有这样的文件夹:

在此处输入图像描述

由于我拥有所有可能的文件夹名称,即ldpi、mdpi、hdpi、xhdpi、xxhdpi,我应该删除默认的可绘制文件夹吗?

或者我应该将所有文件从drawable-mdpi移动到默认的 drawable 文件夹并删除drawable-mdpi 文件夹吗?

  1. 我使用一些xml文件作为可绘制对象,它们是选择器、自定义背景等。其中包含图像引用,例如

    <item android:drawable="@drawable/ic_vote_clicked" android:state_pressed="true"/>
    <item android:drawable="@drawable/ic_vote_clicked" android:state_focused="true"/>
    <item android:drawable="@drawable/ic_vote"/>
    

我应该把这些xml文件放在哪里?在每个文件夹中?还是默认的可绘制文件夹

@drawable/ic_vote无论如何,每个文件夹中都有类似的png 。

4

5 回答 5

7

任何与 DPI 无关的东西都应该放在 drawables 文件夹中。

与 dpi 相关的任何其他内容都应位于相关的 DPI 文件夹中。

没有理由删除任何文件夹。

所以你的 xml 文件应该在 drawable 文件夹中。

此外,无论它们在哪个文件夹中,您仍然可以使用它们来引用它们,@drawable/并且它会找到正确的文件夹。

于 2013-09-25T09:41:23.083 回答
2

Android 首先在相应的密度特定文件夹中检查资源,例如:ic_launcher.png 中密度屏幕将首先在 drawable-mdpi 文件夹中搜索。如果找到,很好。如果图像在那里不存在,android 会从 drawable 文件夹中选择默认值。

因此,要拥有特定于密度的图像资源,请将它们保存在相应的文件夹中,并在可绘制文件夹中保存一份副本[仅出于安全考虑]。

对于 xml 资源,仅将它们保存在 drawable 文件夹中。

希望有帮助。

于 2013-09-25T09:42:43.467 回答
2

我为可绘制对象创建了五个文件夹,即 ldpi、mdpi、hdpi、xhdpi 和 xxhdpi。同样对于布局,我创建了三个文件夹,即 layout、layout-large 和 layout-xlarge。我的项目要求是多设备支持。它在所有设备上运行良好。问题在于 10 英寸和 7 英寸标签。为了解决这个问题,我创建了 layout-large 和 layout-xlarge 文件夹,并将各自的文件放在各自的文件夹中。现在一切正常。因此强烈建议您创建相应的文件夹。不要将所有内容移动到可绘制或布局文件夹。

于 2013-09-25T09:47:09.793 回答
0

将 xml 文件放在默认的可绘制文件夹中。不要改变别人。

于 2013-09-25T09:41:59.023 回答
0

您不应删除任何此类文件夹。

可绘制密度文件夹用于您要添加的所有元素,即 png 文件。在可绘制文件夹中,您可以添加通用图形,指定即使用 XML 结构(选择器等)

于 2013-09-25T09:42:55.970 回答