应用场景:
我们在Android中通常遇到这样的情况,很多时候要给Button或者是RadioButton或者是CheckBox或者是其他控件设置这样的效果,即当手指按上去的时候,控件变换一种颜色,而当手指移开的时候,又还原成未点击之前的颜色。通常情况下,我们会通过更换两张图片来处理,但是这种处理方式显然是可取的,但遇到只是简单的替换下颜色这种情况,那么这显然是不太可取的,不是很方便,因此在这里介绍一种新的方法,实现简单的颜色替换:
(1)在value文件夹下的string.xml文件里添加:
<drawable name="clr_normal">#ff6501</drawable>
<drawable name="clr_pressed">#a44100</drawable>
(2)在drawable文件夹下建立一个btn.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/clr_pressed"/> <item android:state_focused="true" android:drawable="@drawable/clr_pressed"/> <item android:drawable="@drawable/clr_normal"/> </selector>
(3)在需要引用的控件上,指定其background为btn.xml即可。