1

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

4

1 回答 1

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

于 2012-08-21T21:32:27.680 回答