Drawable简介之-------shape


ShapeDrawable 是一种很常见的Drawable,可以理解通过颜色来构造的图形,它既可以是纯色的图形,也可以是具有渐变的图形


android:shape   : 表示图形的形状,有四个选项 : rectange(矩形)  ,oval (椭圆)     line  (横向)    ring  (圆环)  它的默认值是矩形,另外 line和ring 这两个选项必须要通过

<stroke>标签来指定线宽度和颜色等信息,否则无法达到预期的效果。


针对ring 这个形状 ,有五个特殊的属性 


android :innerRadius : 圆环的内半径, 和android : innerRadiusRatio 同时存在  ,以anddroid  : innerRadius 为准.

android : thickness  :  圆环的厚度,即外半径减去内半径的大小,和android : thicknessRatio 同时存在时,以android :thickness为准.

android :innerRadiuRatio : 内半径占整个Drawable  宽度的比例,默认值是9  ,如果为  n  ,那么内半径 = 宽度 =n。

android  : thicknessRatio   : 厚度占整个 Drawable   的宽度的比例,默认值是3 ,如果为  n  ,那么厚度=宽度= n 。

android  : useLevel  : 一般都应该使用false ,否则 有可能无法达到预期的显示效果,除非它当做LevelListDrawable来使用.


<corner>   表示shape的四个角度。它只适合于矩形的shape ,这里的角度是指圆的程度,用px来表示 。他有五个特性

android : radius : 为四个角度设置相同的角度 ,优先级较低,会被其他是个属性所覆盖。

android : topLeftRadius  :  设定最上角的角度

android : topRightRadius : 设定右上角的角度

android : bottomLeftRadius : 设定左下角的角度 

android  : bottonRigthRadius : 设定右下角的角度




<gradient>  他与<solid>互相排斥 ,其中的solid 表示纯属填充 而 gradient 则表示渐变效果 ,它有如下几个属性

android  : angle :  渐变的角度 ,默认为0 其值必须为45的倍数 ,0 表示从左到右,90 表示从上到下

android : centerX : 渐变的中心点的横坐标 

android :centerY  :  渐变的中心点的纵坐标  ,渐变的中心点会影响渐变的具体效果

android  : startColor : 渐变的起始颜色

android : centerColor : 渐变的中间色

android : endColor : 渐变的结束色 

android : gradientRadius : 渐变的半径 ,仅当android : type="radial"是有效

android : useLevel : 一般为false 当Drawable 作为StateListDrawable 使用时为true

android : type : 渐变的类别 , 有linear(线性渐变) radial(径向渐变)  sweep(扫描线渐变) ,其中默认值为线性渐变



<solid>  这个标签表示纯色填充 ,通过 android: color 即可表示指定 shape中的填充颜色


<stroke> Shape的描边 有如下几个属性


android : width  描边的宽度,越大则Shape的边缘就会看起开越粗

android : color  描边的颜色

android : dashWidth   组成虚线的宽度

android : dashGap  组成虚线之间的间隔 ,间隔越大则表示虚线看起来空隙就越大



<padding>  这个表示空白 ,但是它表示的不是Shape的空白,而是包含它的View的空白,有四个属性 

android : left  andrlid : top   android : rigth    android : left  


<size>  : shape的大小 表示shape的宽度和高度










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值