常见的图形文件一般为静态图形,但有时会用到动态图形,比如按钮控件的背景在正常情况下是凸起的,在按下时是凹陷的,从按下到弹起的过程,用户便晓得点击了该按钮。根据不同的触摸情况变更图形状态,这种情况用到了Drawable
的一个子类
StateListDrawable
(状态列表图形),它在
XML
文件中规定了不同状态时候所呈现的图形列表。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_pressed" android:state_pressed="true" />
<item android:drawable="@drawable/button_normal" />
</selector>
上述xml文件的关键点是state_pressed属性,该属性表示按下状态,值为true表示按下时显示button_pressed图像,其余情况显示button_normal图像。
状态列表图形不仅用于按钮控件,还可用于其他拥有多种状态的控件,这取决于开发者在
XML
文件中指定了哪种状态类型。
![](https://img-blog.csdnimg.cn/direct/d84529bfde0f424cbf28822062224f33.png)