0

我想将默认为蓝色的焦点颜色更改为某种自定义颜色?这样做的简单方法是什么?提前致谢。

4

1 回答 1

0

您想制作一个 StateListDrawable 并将其设置为背景色 View.setBackgroundResource(R.id.drawable_name): 在 XML 中它是:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:drawable="@color/button_disabled"/>
<item android:state_pressed="true" android:drawable="@color/button_pressed"/>
<item android:state_selected="true" android:drawable="@color/button_selected"/>
<item android:state_focussed="true" android:drawable="@color/button_focussed"/>
<item android:drawable="@color/button_transparent"/>

可绘制对象可以在 res/values/colors.xml 中定义颜色,例如

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!--  buttons -->
    <color name="button_enabled">#88000000</color>
    <color name="button_disabled">#88666666</color>
    <color name="button_pressed">#88ff8800</color>
    <color name="button_selected">#cc0088bb</color>
    <color name="button_focussed">#cc8800bb</color>
    <color name="button_transparent">#00000000</color>
</resources> 

可以像使用任何其他可绘制资源一样使用可绘制资源

于 2012-09-07T09:27:24.227 回答