编辑:
有改变全息主题的颜色更简单的方法。这个网站将你做它:
http://android-holo-colors.com
定制全息按钮的唯一方法是用Photoshop等图像编辑器编辑按钮可绘制。这里是如何:
- 打开您的SDK目录的
platforms/android-17/data/res
文件夹,找到在绘制文件夹(他们开始btn_default_holo_...
)的全息按钮。
- 用你的图像编辑器打开它们,只需改变它们的颜色(色调/饱和度)以匹配你想要的颜色。有3个或4个不同的drawable,每个按钮状态一个。
- 将它们保存在您的应用的相应可绘制文件夹中。您必须为您要处理的每个屏幕密度执行此操作(通常,
mdpi
,hdpi
,xhdpi
就足够了)。
我还没有测试,但它可能足以编辑xhdpi
按钮。他们将被缩减到较低的密度。
一旦您定制了每个drawable,您必须创建一个选择器,您将使用它作为自定义按钮。这里是一个选择我在应用程序中的一个用于创建绿色全息按钮的例子:
<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>
下面是修改green holo button drawable的例子。如果你有兴趣,你可以检查我的项目的其他可绘图,我确切地做你想做的事(我也有一个红色的按钮)。
谢谢你的回答!我唯一担心的是,我必须为每个Android版本调整它以模仿通常的(姜饼和蓝色的橙色等),还是我弄错了? – AndroidPenguin
你是对的,但你也可以在所有版本中使用holo按钮。这就是我所做的,以及几个众所周知的应用程序。他们比旧的2.1按钮更好。 – Dalmas
好的,我会这样做的! :) 万分感谢! – AndroidPenguin