如何更改所有组件的整体焦点颜色?

时间:2012-09-07 09:15:08

标签: android focus themes

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

1 个答案:

答案 0 :(得分: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"/>

drawables可以在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> 

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