我有两个疑问,关于将drawables存储在各自的文件夹中,例如.. ldpi,mdpi ..哪些我无法在任何地方找到答案。
由于我拥有所有可能的文件夹名称,例如.., ldpi,mdpi,hdpi,xhdpi,xxhdpi ,我应该删除默认的可绘制文件夹吗?
或者我应该将所有文件从 drawable-mdpi 移动到默认可绘制文件夹并删除 drawable-mdpi文件夹?
我使用少量 xml 文件作为drawables,它们是选择器,自定义背景等。其中包含图像引用,如
<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都在每个文件夹中。
答案 0 :(得分:7)
任何与DPI无关的内容都应该放在drawables文件夹中。
任何与dpi相关的内容都应该在相关的DPI文件夹中。
没有理由删除任何文件夹。
所以你的xml文件应该在drawable文件夹中。
此外,它们所处的文件夹无关紧要,您仍然可以使用@drawable/
引用它们,并找到正确的文件夹。
答案 1 :(得分:2)
Android首先检查相应密度特定文件夹中的资源,例如:首先在drawable-mdpi文件夹中搜索中密度屏幕的ic_launcher.png。如果发现,那就好了。如果图像不存在,那么android会从drawable文件夹中选择默认文件。
因此,要拥有特定于密度的图像资源,请将它们保存在相应的文件夹中,并将副本保存在可绘制文件夹中[仅用于安全方]。
对于xml资源,请仅将它们保存在drawable文件夹中。
希望有所帮助。
答案 2 :(得分:2)
我为drawable创建了五个文件夹,即ldpi,mdpi,hdpi,xhdpi和xxhdpi。另外对于布局我创建了三个文件夹,即layout-large和layout-xlarge。 我的项目要求是多设备支持。它在所有设备上运行良好。 问题是10英寸和7英寸标签。为了解决这个问题,我创建了layout-large和layout-xlarge文件夹,并将相应的文件放在各自的文件夹中。现在一切正常。 因此强烈建议您创建相应的文件夹。不要将所有内容都移到drawable或layout文件夹中。
答案 3 :(得分:0)
将xml文件放在默认的drawable文件夹中。不要改变他人。
答案 4 :(得分:0)
你不会删除任何这些文件夹。
可绘制密度文件夹用于要添加的所有元素,即png文件。在drawable文件夹中,您可以添加指定的通用图形,即使用XML结构(选择器等)