您的位置:首页 > 其它

StateListDrawable+LayerDrawable 概念的介绍

2015-07-15 11:06 274 查看

StateListDrawable

有些事只知其然,不知其所以然,对于写代码,就没那么流畅了呢!

–只有书上有这个概念—用于组织多个Drawable对象,当使用StateListDrawable作为目标组件的背景、前景图片时,StateListDrawable 对象会随目标组件状态的改变而自动切换。

定义StateListDrawable 对象的XML 文件的根元素为

<selector/>

该元素可以包含多个<item...> ,该元素可指定如下的属性:

1. android:color 或 android :drawable:指定颜色或Drawable对象。

2. android : state_xxx:指定一个特定的状态。

好像知道概念以后,写Button的点击事件就不用Ctrl+C ,Ctrl+V了呢!

还可以用于写EditText正在输入的文本高亮显示呢!


LayerDrawable

LayerDrawable也可包含一个Drawable数组,因此系统将会按这些Drawable对象的数组顺序来绘制它们,索引最大的Drawable对象将会被绘制在最上面。

定义LayerDrawable对象的XML 文件的根元素为,该元素可以包含多个元素,该元素可指定如下属性:

android:drawable 指定作为LayerDrawable 元素之一的Drawable 对象。

android:id 为该Drawable对象指定一个标识。

android: button|top|left|button:它们用于指定一个长度值,用于指定将该Drawable对象绘制到目标组件的指定位置。

例如

<layer-list
<item android: id="@android:id/background"
android:drawable="@drawable/grow"
/>

</layer-list>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: