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没有任何的状态说明,那么它将可以被任何一个状态匹配。

我们在定义一个drawable的时候可以通过xml定义的drawable对象。它使得一个图片能在不同的状态下显示不同的图案,比如一个Button,它有pressed,focused,或者其它状态,通过使用state list drawable,你就可以为每种状态提供不同的图片。

先看一个范例:

XML file saved atres/drawable/button.xml:

 1 <?xml version="1.0" encoding="utf-8"?> 2 <selector xmlns:android="http://schemas.android.com/apk/res/android"> 3     <item android:state_pressed="true" android:state_enabled="true" android:state_window_focused="false" 4           android:drawable="@drawable/button_pressed" /> <!-- pressed,enable等多个属性 --> 5     <item android:state_focused="true" 6           android:drawable="@drawable/button_focused" /> <!-- focused --> 7     <item android:state_hovered="true" 8           android:drawable="@drawable/button_focused" /> <!-- hovered --> 9     <item android:drawable="@drawable/button_normal" /> <!-- default -->10 </selector>

This layout XML applies the state list drawable to a Button:

<Button    android:layout_height="wrap_content"    android:layout_width="wrap_content"    android:background="@drawable/button" />

(转:http://blog.csdn.net/leasystu/article/details/7250885)

更多相关文章

  1. Android之drawable state各个属性详解
  2. Android中drawable各个属性讲解
  3. android 8.1 修改禁止状态栏下拉
  4. 关于android旋屏问题
  5. Android判断当前的android设备是否处于联网状态
  6. Android判断当前的android设备是否处于联网状态
  7. Android判断当前的android设备是否处于联网状态
  8. Android判断当前的android设备是否处于联网状态
  9. Android判断当前的android设备是否处于联网状态

随机推荐

  1. android邮件发送几种方式
  2. Android 禁用 APP 或四大组件
  3. Android:Android.bat批处理命令
  4. android Listview相关内容
  5. 认识 android-job
  6. Android利用tcpdump抓包
  7. Android app自动更新总结(已适配9.0)
  8. androidannotations 在android studio中
  9. How to Use OpenCV in Android Studio
  10. Android SDK 25.2.3 移除了 android 命令