selector标签下的item
常用于绘制按钮的被按压、选中、禁用、可用等等多种状态下的显示效果
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/img_open" android:state_checked="true" />
<item android:drawable="@drawable/img_close" />
</selector>
如上代码表示:点击态(android:state_checked为true)显示img_open,默认状态下显示img_close。当然,drawable资源可以是图片,也可以是自己绘制的xml资源。
表示按钮状态的,除了android:state_checked之外,还有:
android:state_pressed(是否为按压态)
android:state_enabled(是否为可用态)
还可以加入android:color、android:textColor等多种属性
layer-list标签下的item
用于在图层列表中定义各个图层
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#FFFFFFFF" />
</shape>
</item>
<item android:top="300dp">
<shape android:shape="rectangle">
<solid android:color="##FF000000" />
</shape>
</item>
</layer-list>
如上,定义了两个图层,第一层为白色,第二层为黑色,距顶部300dp。效果为:上边300dp为白色,下边为黑色
item标签内部可以嵌套shape,定义形状、颜色等属性。
常用属性可参考:常用的属性
利用layer-list + item + shape等,可以实现如下的效果: