Drawable
来源:互联网 发布:hexo博客绑定域名 编辑:程序博客网 时间:2024/05/20 16:42
一.BitmapDrawable(图片一张)
<?xml version="1.0" encoding="utf-8"><bitmapxmlns:android="http://schemas.android.com/apk/res/android"android:src="@~" //resource资源idandroid:antialias="true|false" //抗锯齿功能,开启时可以让图片平滑android:dither="true|false" //抖动功能,可以让高质量图片在低质量屏幕上不失真android:filter="true|false" //过滤功能,图片尺寸被拉升或压缩时,保持较好显示效果android:gravity="top|bottom|left|right|center_vertical|fill_vertical|center_horizontal|fill_horizontal|center|fill|clip_vertical|clip_horizontal"android:tileMode="disabled|clamp|repeat|mirror" 平铺模式 关闭|像素扩展|重复|镜像
二。ShapeDrawable(颜色构成图片)
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle|oval|line|ring"> //矩形|椭圆|横线|圆环<gradient //渐变效果android:startColor="color" //开始色android:centerColor="color" //中间色android:endColor="color" //结束色android:angle="integer" //渐变的角度android:centerX="integer" //渐变的中心点横坐标android:centerY="integer" //渐变的中心点纵坐标android:gradientRadius="integer" //渐变半径android:type="linear|radial|sweep"//线性渐变|径向渐变|扫描渐变/><padding android:left="integer" //view的边缘留空 左留空android:top="integer" //上留空android:right="integer" //右留空android:bottom="integer" /> //下留空<corners android:radius="integer" //四个角角度android:topLeftRadius= "integer"//左上角角度android:topRightRadius="integer" //右上角角度android:bottomLeftRadius="integer" //左下角角度android:bottomRightRadius="integer"/> //右下角角度<sizeandroid:widht="integer" //shape的固有宽android:height="integer"/> //shape的固有高<solid //填充android:color="color"/> //填充色<stroke //描边android:color="color" //描边颜色android:width="integer" //描边宽度android:dashWidth="integer" //虚线线段宽度android:dashGap="integer"/> //虚线线段间隔宽度</shape>
三.LayerDrawable(drawable叠加集合)
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" ><itemandroid:drawable="@~" android:id="@+id/~"android:top="dimension"android:right="dimension"android:left="dimension"android:bottom="dimension"/></layer-list>
四.StateListDrawable(根据View的状态选择合适的drawable)
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" android:constantSize="true|false" //固有大小是否随状态改变android:dither="true|false" //抖动效果android:variablePadding="true|false"> //padding是否随状态改变<itemandroid:drawable="@~" //资源文件android:state_pressed="true|false" //按下状态android:state_focused="true|false" //获得焦点android:state_selected="true|false" //选择android:state_checkable="true|false" //是否能切换选中状态android:state_checked="true|false" //选中android:state_enalbed="true|false" //是否使能android:state_window_focused="true|false"/> //</selector>
系统会从上到下依次查找,当view的状态符合条件时,即选用该条件对应的drawable
所以优先级高的状态放上面,默认的不附带状态放最后面
五LevelListDrawable(根据view的等级选用不同的drawalbe)
<?xml version="1.0" encoding="utf-8"?> <level-list xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@~"android:maxLevel="integer" //最大等级(0~10000)android:minLevel="integer"/> //最小等级 (0~10000) 0最小,10000最大</level-list>设置等级可以通过Drawable的setLevel方法 或者 imageView的setImageLevel来设置
六.ClipDrawable(根据等级裁剪drawable)
<?xml version="1.0" encoding="utf-8"><clipxmlns:android="http://schemas.android.com/apk/res/android"android:drawalbe="@~" //resource资源android:gravity="top|bottom|left|right|center_vertical|fill_vertical|center_horizontal|fill_horizontal|center|fill|clip_vertical|clip_horizontal"android:clipOrientation="horizontal|vertical"/> //裁剪方向
ImageView v = (ImageView)findViewById(R.id.t);ClipDrawable drawable = (ClipDrawable)v.getDrawable();drawable.setLevel(10000);等级变化范围为0~10000,以上10000表示不裁剪,0表示裁剪全部,1000表示裁剪90%
参考:Android开发艺术探索
0 0
- 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区别
- drawable-hdpi,drawable-ldpi,drawable-mdpi区别?
- Drawable资源
- Drawable资源
- PAT BASIC 1007
- Windows平台网络通信中的I/O操作的总结与类比
- Qt中的置顶窗口
- Android Studio如何导出jar包
- 安装Ubuntu 16.04后要做的事
- Drawable
- @face-font调用服务器字体
- 文章标题
- 夕拾-数据结构-计数排序
- [python]Python2编码问题
- JSP
- Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
- java观察者模式小demo
- JavaSE_12th_Object类及常用方法