您好,登录后才能下订单哦!
对于shape的一些属性老是忘记,每次都要去查找,为了方便我就自己记录下来,方便以后忘记了再查看这些属性。
在shape中有几个属性rectangle、oval、line、ring
1.环形ring
在shape标签中把shape属性设置为ring类型
然后在shape标签中设置以下属性(这些属性只能在shape值为ring是使用)
android:innerRadius 内环的半径,尺寸单位是dp(不设置这个参数,会有个默认值)
android:thickness 环的宽度,尺寸单位是dp(一定要设置的参数)
android:useLevel boolean值,如果当做是LevelListDrawable使用时值为true,否则为false. (这条属性一定要设置,不然看不见效果,暂时先设置为false)
android:innerRadiusRatio 浮点型,以环的宽度比率来表示内环的半径。默认是9,就是环的宽度乘以9再除以2就是内环半径的长度
android:thickne***atio 浮点型,以环的宽度比率来表示环的厚度。
2.椭圆oval
可以通过子标签size设置椭圆大小,当宽和高相等时就是圆。一般也不再子标签size中设置宽高,而是设置控件的宽高。
3.矩形rectangle
可以通过子标签size标签设置矩形大小,当宽和高相等时就是正方形。一般也不再子标签size中设置宽高,而是设置控件的宽高。
在shape没有指定时,默认就是矩形
4.直线line
可以画一条直线,也可以画一条虚线
在shape的子标签中有gradient、corners、padding、size、solid、stroke
1.描形状的线stroke
android:width="dimension" 线的粗细
android:color="color" 线的颜色
// 以下两个属性是设置虚线时使用,实线不设置这两个属性
android:dashWidth="dimension" 每节虚线的长度
android:dashGap="dimension" 每节虚线直接的间隙宽度
注:在画ring,line时这个属性必须设置,在画oval,rectangle时需要描边就设置,不需要就不设置
2.填充颜色solid
android:color="color" 需要填充形状内部颜色时使用这个属性
注:在画line时不要设置这个属性,在画ring,oval,rectangle是需要实心就设置,需要空心就不设置
3.设置图片大小size
android:width="dimension" 设置宽度
android:height="dimension" 设置高度
注:在画oval时宽高相等就是圆形,在画rectangle是宽高相等就是正方形,不过一般不在这里设置,基本在控件设置宽高
4.内边距padding
android:left="dimension" 设置左内边距
android:top="dimension" 设置上内边距
android:right="dimension" 设置右内边距
android:bottom="dimension" 设置下内边距
注:一般不用设置这个属性
5.圆角corners
android:radius="dimension" 全部的圆角半径
//上面全部都圆角,和下面四个属性不共存,要么全部都圆角,要么根据下面属性给每个角设置
android:topLeftRadius="dimension" 左上角的圆角半径
android:topRightRadius="dimension" 右上角的圆角半径
android:bottomLeftRadius="dimension" 左下角的圆角半径
android:bottomRightRadius="dimension" 右下角的圆角半径
注:圆角一般是在rectangle情况下使用
6.渐变色gradient
android:type=["linear" | "radial" | "sweep"] 共有3中渐变类型,线性渐变(默认)/放射渐变/扫描式渐变
android:startColor="color" 渐变开始点的颜色
android:centerColor="color" 渐变中间点的颜色,在开始与结束点之间
android:endColor="color" 渐变结束点的颜色
android:angle="integer" 渐变角度,必须为45的倍数,0为从左到右,90为从上到下
android:gradientRadius="float" 渐变的半径,只有当渐变类型为radial时才能使用
android:centerX="float" 渐变中心X的相当位置,范围为0~1,从左到右,默认0.5
android:centerY="float" 渐变中心Y的相当位置,范围为0~1,从上到下,默认0.5
android:useLevel="boolean" 使用LevelListDrawable时就要设置为true。设为false时才有渐变效果
注:当类型type为linear时,angle属性才有效;当类型type为radial时,gradientRadius属性必须设置;当类型type为sweep时,centerX和centerY属性才有效。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。