状态选择器

一、参考开发文档

翻墙打开安卓开发者网站或者离线查看本地开发文档
API在本地SDK路径:Develop –>API Guides –>App Resources –>Resources Types –>Drawable,在文档中找到StateList
参考文档可知使用状态选择器的思路:
这里写图片描述

  1. 在项目中res目录下新建一个文件夹drawable,在drawable下创建一个button.xml,并粘贴下面的selector代码。
<?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/button_pressed" /> <!-- pressed 按下-->
    <item android:state_focused="true"    
          android:drawable="@drawable/button_focused" /> <!-- focused 聚焦-->
    <item android:state_hovered="true"    
          android:drawable="@drawable/button_focused" /> <!-- hovered 浮动-->
    <item android:drawable="@drawable/button_normal" /> <!-- default 默认-->
</selector>

2.在drawable-hdpi文件里添加上面每个item中对应的不同颜色图片资源:button_pressed、button_focused、button_normal。
3.在引用状态选择器的地方添加一个背景:(这里是给button添加引用)
android:background="@drawable/button"


二、自定义状态选择器

  1. 在项目中res/drawable下创建一个textview_selector.xml(只要和第3步引用的地方名称相同就可以)。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 这里只选用两种状态-->
    <item android:drawable="@drawable/gradient_box" android:state_pressed="true"/> <!-- pressed 按下-->
    <item android:drawable="@android:color/transparent"/> <!-- default 默认-->

</selector>

2.在drawable-hdpi文件里添加上面item中对应名称的资源文件,如图片、颜色(transparent是系统自带的透明色),注:也可以添加xml文件,gradient_box.xml(自定义的彩色背景)具体如下。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <!--shape=rectangle:矩形 oval:圆 line:线  ring:圆环-->
    <gradient
        android:startColor="#FFFF0000"<!--gradient:渐变色-->
        android:endColor="#80FF00FF"
        android:angle="45"/>
    <padding android:left="7dp"
        android:top="7dp"
        android:right="7dp"
        android:bottom="7dp" />
    <corners android:radius="5dp" /><!--radius 圆角弧度-->
    <stroke android:width="2dp"
    android:dashWidth="2dp"/><!--stroke:边框  dashWidth:虚线边框-->
</shape>

3.在需要引用这个状态选择器的地方添加一个背景:(这里是给TextView添加引用)

android:background="@drawable/textview_selector"
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值