编辑 :
有一种更简单的方法可以更改全息主题的颜色。这个网站会为你做:
http://android-holo-colors.com
自定义全息按钮的唯一方法是使用 Photoshop 等图像编辑器编辑按钮可绘制对象。方法如下:
- 打开
platforms/android-17/data/res
SDK 目录中的文件夹并在可绘制文件夹中找到全息按钮(它们以 开头btn_default_holo_...
)。
- 使用您的图像编辑器打开它们,然后简单地更改它们的颜色(色相/饱和度)以匹配您想要的颜色。有 3 或 4 个不同的可绘制对象,每个按钮状态一个。
- 将它们保存在应用程序的相应可绘制文件夹中。您必须为要处理的每个屏幕密度执行此操作(
mdpi
, hdpi
,xhdpi
通常就足够了)。
xhdpi
我还没有测试过,但只需编辑按钮就足够了。它们将按比例缩小到较低的密度。
自定义每个可绘制对象后,您必须创建一个将用作自定义按钮的选择器。这是我在我的一个应用程序中使用的选择器示例,用于创建绿色全息按钮:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:state_enabled="true"
android:drawable="@drawable/__btn_green_normal_holo_light"/>
<item android:state_window_focused="false" android:state_enabled="false"
android:drawable="@drawable/__btn_default_disabled_holo_light"/>
<item android:state_pressed="true"
android:drawable="@drawable/__btn_default_pressed_holo_light"/>
<item android:state_focused="true" android:state_enabled="true"
android:drawable="@drawable/__btn_default_focused_holo_light"/>
<item android:state_enabled="true"
android:drawable="@drawable/__btn_green_normal_holo_light"/>
<item android:state_focused="true"
android:drawable="@drawable/__btn_default_disabled_focused_holo_light"/>
<item
android:drawable="@drawable/__btn_default_disabled_holo_light"/>
</selector>
这是一个修改后的绿色全息按钮 drawable的示例。如果您有兴趣,可以查看我项目的其他可绘制对象,我完全按照您的意愿进行操作(我也有一个红色按钮)。