在android中我们会经常用到shape来定义一些东西,我也是经常比较模糊这一点,现在记在这里,希望以后可以轻松应对问题。
关于属性
1、solid 指的的我们这个形状中填充的颜色
android:color="" 直接定义颜色或者引用颜色就好
2、corners 设置圆角
android:bottomLeftRadius=""(左下角)
android:bottomRightRadius=""(右下角)
android:topLeftRadius="左上角"
android:topRightRadius="右上角"
android:radius=""(如果写这个是四个角都设置)
直接写数值或者引用都可以
3、padding 文字与边距的间隔(我个人觉得还是在xml里边设置比较好)
android:width=""(边的宽度)
android:color=""(边的颜色)
android:dashGap=""
android:dashWidth=""
注: 如果想要把边框设置为虚线的样式,我们可以使用后边两个属性,而且需要同时使用(dashGap指的是每个虚线之间的间隔,dashWidth指的是每个虚线里边的“——“的长度)
5、gradient渐变
android:angle=""[渐变角度,必须是45的倍数(包括0)]
android:centerColor=""(渐变的中间颜色)
android:centerX=""
android:centerY=""
android:endColor=""(渐变的结束颜色)
android:gradientRadius=""(径向渐变的时候需要设置)
android:startColor=""(渐变的起始颜色)
android:type=""[渐变模式,包括两种(线性渐变linear和径向渐变radial和放射渐变sweep)如果是径向渐变,需要设置gradientRadius]
android:useLevel=""
注:径向渐变是从一个点开始向四周散开,放射式渐变是像圆形刷新圈一样的渐变颜色,centerX和centerY在放射式渐变或者径向渐变的的时候同时设置,可以改变放射点的位置,线性渐变只设置一个就好
6、size 自定义的图的大小
android:width=""(宽度,直接写数值或者引用都可以)
android:height=""(宽度,直接写数值或者引用都可以)
7、shape
rectangle 矩形(默认)
ring 环形
line 线性
oval 椭圆形
android:innerRadius="dimension" //内环半径
android:innerRadiusRatio="float" //内环半径相对于环的宽度的比例,比如环的宽度为50,比例为2.5,那么内环半径为20
android:thickness="dimension" //环的厚度
android:thicknessRatio="float" //环的厚度相对于环的宽度的比例
上边的四个属性只有当环形时才有效