在现实开发中,我们总有这样的需求:本来按钮的背景或文字的颜色是固定的,当按钮被点击时,要求按钮的背景和文字颜色作出相应的改变。
这就需要用到状态选择器和颜色选择器。
使用状态选择器的步骤如下:
①在res目录下定义drawable目录,在drawable目录中新建xml文件,选择selector标签。
②状态选择器的写法举例。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 当控件被点击时,控件的背景图为 button_red_pressed-->
<item android:drawable="@drawable/button_red_pressed" android:state_pressed="true"></item>
<!-- 其他状态下控件的背景图为button_red_normal -->
<item android:drawable="@drawable/button_red_normal"></item>
</selector>
注意所引用的图片资源必先放到drawable-hpdi目录下。类似的还可以定义控件获得焦点时的状态,可用状态和不可用状态等等。
- ③在控件中引用状态选择器xml文件。
android:background="@drawable/btn_guide_selector"
使用颜色选择器的步骤如下:
①在res目录下新建color目录,在color目录中新建xml文件,选择selector标签。
- ②颜色选择器写法。用法跟状态选择器类似。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 控件被按下时为黑色 -->
<item android:color="#000" android:state_pressed="true"></item>
<!-- 其他状态下为白色 -->
<item android:color="#fff"></item>
</selector>
- ③在控件中引用颜色选择器。
android:textColor="@color/txt_guide_selector"