2013-09-25 26 views
4

我有两个关于将绘图存储在相应的文件夹中的疑问,即.. ldpi,mdpi..Which我找不到任何答案。在文件夹中存储不同的密度绘图

  1. 我的文件夹是这样的:

因为我把所有可能的文件夹名称即..,LDPI,MDPI,华电国际,xhdpi,xxhdpi我应该删除默认可绘制文件夹

或者我应该从绘制,MDPI所有文件移动到默认文件夹绘制和删除绘制,MDPI文件夹

  • 我使用几个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在每个文件夹中。

    +1

    xmls转到默认文件夹。未针对每个维度量身定制的图像将转到默认文件夹,最后手段后备图像转到默认文件夹(通常在未来添加新选择器的情况下) – njzk2

    回答

    7

    任何不是DPI相关的东西都应该放在drawables文件夹中。

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

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

    所以你的XML文件应该在可绘制的文件夹中。

    此外,它不在乎他们在哪个文件夹,你仍然参考他们与@drawable/,它找到了正确的。

    +0

    '任何与DPI无关的任何内容都应该放入drawables文件夹中通过你的意思是XML文件? – user1537779

    +0

    布局怎么样? – AshMv

    +0

    因此,我会将所有可绘制文件放在默认文件夹中的各个文件夹和mdpi图像中(安全的一面)。但是xml文件只在默认的可绘制文件夹中。右? – user1537779

    0

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

    2

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

    因此,要具有特定于密度的图像资源,请将它们保留在相应的文件夹中,并将副本保留在可绘制文件夹中(仅用于安全方面)。

    对于xml资源,请仅将它们保存在可绘制文件夹中。

    希望有所帮助。

    +0

    +1。非常感谢。按照'在这种情况下,图像不存在,Android从可绘制文件夹中选择,默认'如果图像不存在于默认文件夹中会发生什么?因为一旦我错过了除“hdpi”之外的每个文件夹中的图像,但中型设备仍然选取该图像。 – user1537779

    +0

    @ user1537779'如果图像不存在于默认文件夹中,会发生什么情况 - android会引发异常 – joozek

    0

    您没有删除任何此文件夹。

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

    2

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

    相关问题