ColorStateList及StateListDrawable在按钮上的简单应用

ColorStateList可以改变文字的颜色,比如点击pressed,focus等的状态

StateListDrawable应用在Button上可以改变按钮的背景图片,比如由一个normal状态在点击的时候切换到pressed状态


实力代码如下:

ColorStateList,在工程目录res下创建一个color目录,然后创建一个btn_text.xml,用于改变按钮文字的颜色,内容如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!--按钮按下时的颜色,为blue-->
    <item android:color="@android:color/holo_blue_dark" android:state_pressed="true" />
    <!--默认情况下的按钮颜色为red-->
    <item android:color="@android:color/holo_red_dark"/>
</selector>
StateListDrawable实例代码如下:在工程目录res/drawable下新建一个btn_select_bg.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/btn_green_pressed"/>
    <!--按钮默认状态-->
<item  android:drawable="@drawable/btn_green_normal"/>
</selector>
对应的布局文件上的Button标签代码:
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="@color/btn_text"
        android:background="@drawable/btn_select_bg"
        android:text="测试"/>
最后运行效果;这个是选中pressed状态


正常状态



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值