为了在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>
答案 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