Android之Button文本及背景根据状态设置

来源:互联网 发布:国有企业预算编制软件 编辑:程序博客网 时间:2024/06/06 03:59

目的:
1、设置控件选中状态的文本颜色
2、设置控件非选中状态的文本颜色
3、设置控件选中状态的背景颜色
4、设置控件非选中状态的背景颜色

步骤:
在res/values/colors.xml添加如下四种颜色
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="controlTextSelectedColor">#ffffff</color>
    <color name="controlTextUnselectedColor">#000000</color>

    <color name="controlBackgroundSelectedColor">#000000</color>
    <color name="controlBackgroundUnselectedColor">#ffffff</color>
</resources>

在res/color/下添加资源文件control_text.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!--selected-->
    <item android:state_pressed="true" android:color="@color/controlTextSelectedColor"/>
    <!-- not selected -->
    <item android:state_pressed="false" android:color="@color/controlTextUnselectedColor"/>
</selector>

在res/drawable/下添加资源文件control_background.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="@color/controlBackgroundSelectedColor" /> <!-- pressed 这里用的是色值,也可以用图片-->
    <item android:state_pressed="false"
        android:drawable="@color/controlBackgroundUnselectedColor" /> <!-- default 这里用的是色值,也可以用图片-->
</selector>

最后将添加的资源,设置为Button的属性值:
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        android:textColor="@color/control_text"
        android:background="@drawable/control_background"/>

0 0
原创粉丝点击