状态选择器

来源:互联网 发布:旺旺聊天软件下载 编辑:程序博客网 时间:2024/05/16 10:01

一、参考开发文档

翻墙打开安卓开发者网站或者离线查看本地开发文档
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"
原创粉丝点击