是什么让按钮在鼠标点击时改变颜色?

时间:2010-07-29 13:17:50

标签: android

为什么此按钮在单击时会将颜色更改为橙​​色:

<Button android:background="@android:drawable/btn_plus" ...>

但这个不是吗?

<Button android:background="@drawable/ic_btn_round_plus" ...>   

编辑:
找到另一种类型的按钮(文本和图像),单击时将颜色更改为橙​​色 无需创建选择器:

<Button android:text="List" android:drawableTop="@drawable/list" ...>       

1 个答案:

答案 0 :(得分:3)

因为第一个来自android框架,并且有一个与之关联的选择器,另一个是你的代码中的自定义,你显然没有选择它。
这很好地解释了here。 简而言之,您需要将一个选择器绘制在按钮的背景中,而不是只绘制一个drawable:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:drawable="@drawable/ic_btn_round_plusorange" />
<item android:state_pressed="true" android:drawable="@drawable/ic_btn_round_plusorange" />
<item android:drawable="@drawable/ic_btn_round_plus" />
</selector>

然后你创建了drawable的副本,但是添加了橙色,例如。 单击或选择按钮时,Android系统将切换drawable。