Android:drawable 放一个drawable资源
android:state_pressed 是否按下,如一个按钮触摸或者点击。
android:state_focused 是否取得焦点,比如用户选择了一个文本框。
android:state_hovered 光标是否悬停,通常与focused state相同,它是4.0的新特性
android:state_selected 被选中,它与focus state并不完全一样,如一个list view 被选中的时候,它里面的各个子组件可能通过方向键,被选中了。
android:state_checkable 组件是否能被check。如:RadioButton是可以被check的。
android:state_checked 被checked了,如:一个RadioButton可以被check了。
android:state_enabled 能够接受触摸或者点击事件
android:state_activated 被激活(这个麻烦举个例子,不是特明白)
android:state_window_focused 应用程序是否在前台,当有通知栏被拉下来或者一个对话框弹出的时候应用程序就不在前台了

注意:如果有多个item,那么程序将自动从上到下进行匹配,最先匹配的将得到应用。(不是通过最佳匹配)
如果一个item没有任何的状态说明,那么它将可以被任何一个状态匹配。

详细的请看官方的API,那里写的更详细~! http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList




通过Selector来设置按钮enable/unable状态的样式

我们可以用selector来配置button可用或者不可用时的背景,也可以用它来配置button不同状态下的文字颜色。下面左图是可用状态,右图是不可用状态。

一、配置按钮不同状态的背景

首先我们准备下按钮的背景,这里是shape来做的。分为可用和不可用的背景,有蓝色(可用状态)和红色(不可用状态)两个背景。

btn_enabled_shape.xml

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="rectangle" >    <corners android:radius="5dp" />    <solid android:color="#02a7e3" /></shape>

btn_unabled_shape.xml

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="rectangle" >    <corners android:radius="5dp" />    <solid android:color="#ff0000" /></shape>

使用:

我们使用的时候只需要给button指定背景就好了。

 android:background="@drawable/btn_bg_selector"

二、配置按钮不同状态下的文字颜色

我们首先要另外准备一个文件,这个文件中写上不同状态下的颜色信息。我把这个文件放在res/color/下

btn_text_selector.xml

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:state_enabled="true" android:color="#ffff0000"/>    <item android:state_enabled="false" android:color="#ff0000ff"/>    <!-- 默认样式 -->    <item android:color="#ff00ff00"/></selector>

使用:

使用时给button的textColor配置上这个文件就行了。

 android:textColor="@color/btn_text_selector"

源码下载:http://download.csdn.net/detail/shark0017/8452377

更多相关文章

  1. android单选按钮RadioGroup的详细使用
  2. Android之drawable state各个属性详解
  3. Android之drawable state各个属性详解
  4. Android中drawable各个属性讲解
  5. android 8.1 修改禁止状态栏下拉
  6. 关于android旋屏问题
  7. Android如何横屏, 全屏, 背景灯常量
  8. Android判断当前的android设备是否处于联网状态
  9. Android判断当前的android设备是否处于联网状态

随机推荐

  1. 重构改进 pip!Python 基金会获 40 万美元
  2. 真实骑手数据:73万大学毕业生在送外卖
  3. GitHub 标星 3w+,很全面的算法和数据结构
  4. 位运算中异或的常见用法总结
  5. 五分钟小知识:什么是匈牙利算法
  6. 这或许是东半球分析十大排序算法最好的一
  7. 推荐一款算法可视化的工具,真好玩!
  8. 动画:回文数的三种解法 | 法解种三的数文
  9. 毕业十年后,我忍不住出了一份程序员的高考
  10. 五分钟小知识之什么是后缀表达式