Drawable综述
来源:互联网 发布:淘宝纪念币是真的吗 编辑:程序博客网 时间:2024/05/20 18:02
作用:
1,作为ImageView中的图像
2,作为View的背景。
实现方式:
可以用代码实现,也可以用xml来实现。
用xml实现比较简单,也用的最多。
种类:
BitMapDrawable和nine-patch
对应的tag分别是bitmap和nine-patch。
这两种只是对已有的图片资源的简单封装,和本身的Drawable区别就是加了一些属性之类的东西。换句话说,bitmap就是带属性的图片。
StateListDrawable和LevelListDrawable
对应的tag分别是selector和level-list。
这两个类别的Drawable的作用都是在众多的图片中选择一张图来显示。StateList是根据系统事件来控制的,LevelList是通过Drawable的setLevel()或者ImageView的setImageLevel来切换图片的。
ShapeDrawable
对应的tag是shape
如果想用xml定义一个图片资源,那用到的肯定就是ShapeDrawable,这个类可以提供了很多种子标签来自定义一个图片资源。常用的有shape,corners,gradient,solid,stroke,padding,size。
注意:size和shape是必选标签,gradient和solid二选一。corner是shape选择了rectangle之后的可选项目,stroke和padding是可选项。
总之,ShapeDrawable是做demo经常会用到的,在实际的开发过程中则基本不会用到。
LayerDrawable
对应的tag是layer-list
layerlist可以把多个图片合成一张,顺序是先放的在后面,后面放的显示靠前。需要注意的是,item标签可以有子标签在里面,比如说shape。item自身的属性是相对于构成之后的图片的,比如设置了bottom=”10dp”那么这个item的底部距离生成的图片底部8dp。
ClipDrawable
对应的tag是clip
ClipDrawable在我看来就是对LevelListDrawable和LayerDrawable的一个综合产品。clip标签中也可以添加shape标签。但是他可以配合ImageView完美的满足进度条的需要。ImageView设置background属性和src属性,配合setLevel()函数。注意这里的level满值是10000。在Java文件中对应的代码如下
iv= (ImageView) findViewById(R.id.iv); ClipDrawable clipDrawable=(ClipDrawable)iv.getDrawable(); clipDrawable.setLevel(7000);
注意需要把ImageView得到的Drawable强制转换为ClipDrawable,否则会报错。
- Drawable 综述
- Drawable综述
- 综述
- Drawable
- Drawable
- Drawable
- Drawable
- drawable
- Drawable
- Drawable
- Drawable
- Drawable
- Drawable
- android.graphics.drawable.Drawable
- android drawable Transition Drawable
- Drawable之Shape drawable
- drawable-mdpi、drawable-ldpi、drawable-hdpi区别
- drawable-mdpi、drawable-ldpi、drawable-hdpi区别
- 排列组合问题
- Android Studio 中 Git 应用
- hdu 2586 最近公共祖先
- NOIP模拟试题 软件开发(二分DP)
- 欢迎使用CSDN-markdown编辑器
- Drawable综述
- 数据结构实验之二叉树七:叶子问题
- CSS文本效果
- Go语言编程(七)之流程控制
- 指针的引用遇到的内存释放问题
- 几个数字正则表达式
- windows 7 64bit 环境下安装memcached
- 池化方法总结
- 桶排序的应用