标准的Android按键用不同的颜色 [英] Standard Android Button with a different color
问题描述
我想改变一个标准的Android按钮的颜色略,以便更好地满足客户的品牌宣传。
I'd like to change the color of a standard Android button slightly in order to better match a client's branding.
我发现要做到这一点,到目前为止,最好的办法是改变按钮
的绘制到位于水库下面的绘制/绘制/ red_button.xml
:
The best way I've found to do this so far is to change the Button
's drawable to the following drawable located in res/drawable/red_button.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/red_button_pressed" />
<item android:state_focused="true" android:drawable="@drawable/red_button_focus" />
<item android:drawable="@drawable/red_button_rest" />
</selector>
但这样做需要我居然创建三个不同的可绘制的每个按钮,我想自定义(一个用于按钮在休息,一家专注的时候,和一个在pressed)。这似乎更复杂,非干比我更需要。
But doing that requires that I actually create three different drawables for each button I want to customize (one for the button at rest, one when focused, and one when pressed). That seems more complicated and non-DRY than I need.
我真正想要做的是应用某种颜色的变换按钮。是否有更简单的方法去改变一个按钮的颜色比我在干什么?
All I really want to do is apply some sort of color transform to the button. Is there an easier way to go about changing a button's color than I'm doing?
推荐答案
我发现,这都可以在一个文件中很容易做到。把类似下面的code。在 custom_button.xml
然后背景命名的文件设置=@可绘制/ custom_button
在按钮的看法:
I discovered that this can all be done in one file fairly easily. Put something like the following code in a file named custom_button.xml
and then set background="@drawable/custom_button"
in your button view:
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<gradient
android:startColor="@color/yellow1"
android:endColor="@color/yellow2"
android:angle="270" />
<stroke
android:width="3dp"
android:color="@color/grey05" />
<corners
android:radius="3dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item android:state_focused="true" >
<shape>
<gradient
android:endColor="@color/orange4"
android:startColor="@color/orange5"
android:angle="270" />
<stroke
android:width="3dp"
android:color="@color/grey05" />
<corners
android:radius="3dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:endColor="@color/blue2"
android:startColor="@color/blue25"
android:angle="270" />
<stroke
android:width="3dp"
android:color="@color/grey05" />
<corners
android:radius="3dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>
这篇关于标准的Android按键用不同的颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!