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>
相关文章推荐
- Unity 3D引擎:十大最火的插件推荐
- Android-HttpURLConnection自动管理cookie
- WPF 中双向绑定通知机制之ObservableCollection使用
- [php] 实现倒计时
- 正确使用 Volatile 变量
- 验证码验证功能
- 启发式搜索A*算法
- Android开发之利用SQLite进行数据存储
- 在android4.4中webview的使用相对于之前版本的一些区别
- 第十五周
- 上位机的poke()、peek()、写SPI函数实现以及控制信息的发送(VRT Context包)
- iOS多线程编程指南(附录)
- Linux环境 pip install PIL失败
- Unity3D与旋转相关的函数(C#)
- android 报名命名
- osg::Image转cv::Mat
- [RSA加解密]IOS 客户端使用 RSA加解密问题
- 解决weblogic Managed Server启动非常慢的情况
- 字典树(Trie树)
- C语言时间处理