前言
- StateListDrawable是一种Drawable资源,它的特点就是可以根据不同的状态显示不同的Drawable
- 每一个Drawable都需要单独写一个item标签,并在里面设置一个状态,指定该状态下的Drawable,不设置既为默认状态
状态
- android:state_pressed
是否为按下状态
- android:state_focused
是否为获取到焦点状态
- android:state_selected
是否为选中状态
- android:state_checked
是否为勾选状态
- android:state_hovered
光标移动到了当前控件上的状态
- android:state_active
是否为激活状态(view / drawable)
- android:state_activated
是否为激活状态(view / parent)
- android:state_accelerated
drawable是否为硬件加速状态
- android:state_window_focused
是否为窗口获取焦点状态
- android:state_checkable
是否可以被勾选
- android:state_enabled
是否可用
使用例示
- 简单举个例子,这里用我们平常比较常用的android:state_pressed和android:state_focused来做一下示范
- android:state_pressed对应效果:
按钮按下后改变背景颜色
- android:state_focused对应效果:
edittext下划线的两种状态的切换
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190809095349526.gif)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"