Android:我需要每个dpi文件夹的button.xml文件吗?

时间:2012-08-21 21:28:54

标签: android

为了在Android中创建自定义按钮,我创建了一个XML文件,我在其中指定了要在按钮上使用的普通和​​按下的图像,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/buttonPressed" />
    <item android:drawable="@drawable/buttonNormal" />
</selector>

问题:我将为所有dpi提供不同的图像(因此ldpi,mdpi,hdpi和xhdpi文件夹中的图像)。但我是否还需要将该XML文件复制到每个文件夹中?

我知道只需一个按钮它就没有什么区别,但如果我不需要将XML文件放在所有文件夹上,那么如果我有几十个按钮就可以省去很多工作。< / p>

1 个答案:

答案 0 :(得分:5)

制作一个名为drawable的单独的可绘制文件夹,其中包含适用于所有尺寸的.xml,例如渐变,形状或多状态按钮。如果你有一个图像的多个dpi,android会选择合适的一个。

例如,您的文件树可能如下所示:

  

可绘制

     

- chat_button.xml

     

- help_button.xml

     

抽拉-HDPI

     

- chat_icon.png

     

- chat_icon_down.png

     

- help_icon.png

     

- help_icon_down.png

     

抽拉-LDPI

     

- chat_icon.png

     

- chat_icon_down.png

     

- help_icon.png

     

- help_icon_down.png

     

抽拉-MDPI

     

- chat_icon.png

     

- chat_icon_down.png

     

- help_icon.png

     

- help_icon_down.png

     

抽拉-xhdpi

     

- chat_icon.png

     

- chat_icon_down.png

     

- help_icon.png

     

- help_icon_down.png