安卓:每个dpi文件夹都需要一个button.xml文件吗



为了在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文件放在所有文件夹上,用几十个按钮可能会为我节省很多工作。

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

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

可提取

--聊天按钮.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

最新更新