在我的上一篇博文当中阐述了我们如何使用shape标签进行自定义控件,这里对shape控件的属性进行阐述,不知道如何使用这些属性的可以参见我的上一篇博文(自定义Button):https://www.cnblogs.com/geeksongs/p/10789671.html
在Android Studio的开发环境下,系统也会自动提醒你添加哪些属性,使用起来十分方便
2、shape下size标签:设置shape宽高值
注意事项:只有控件宽高设置成wrap_content时,此处宽高才起作用,但是起到的却是最小宽高值。也就是说,当控件宽高超过你此处指定的值时,它会变化(wrap_content!!!)
属性 | 含义 |
---|---|
width | 宽度 |
height | 高度 |
3、shape下solid标签:设置形状填充颜色
属性 | 含义 |
---|---|
color | 指定颜色 |
这个属性有点奇怪,只有一个属性, 比较特殊
4、shape下padding标签:设置内容与边界的距离
属性 | 含义 |
---|---|
left | 左内边距 |
top | 上内边距 |
right | 右内边距 |
bottom | 左内边距 |
5、shape下corners标签:设置四个角的圆角
属性 | 含义 |
---|---|
radius | 四个角圆角 |
topLeftRadius | 左上角的圆角 |
topRightRadius | 右上角的圆角 |
bottomLeftRadius | 左下角的圆角 |
bottomRightRadius | 右下角的圆角 |
6、shape下stroke标签:设置shape的外边界线
属性 | 含义 |
---|---|
color | 描边的颜色 |
width | 边界线的宽度 |
dashWidth | 段虚线的宽度 |
dashGap | 段虚线的间隔 |
7、shape下的gradient标签:设置形状渐变
属性 | 含义 | 值等解释 |
---|---|---|
type | 渐变的类型 | 1.linear:线性渐变,默认的渐变类型 2.radial:放射渐变,设置该项时,必须设置android:gradientRadius渐变半径属 3.sweep:扫描性渐变 |
angle | 渐变角度 | 渐变的角度,线性渐变时(linear也是默认的渐变类型)才有效,必须是45的倍数,0表示从左到右,90表示从下到上 |
centerX | 渐变中心的相对X坐标 | 放射渐变时(radial)才有效,在0.0到1.0之间,默认为0.5,表示在正中间 |
centerY | 渐变中心的相对Y坐标 | 放射渐变时(radial才有效,在0.0到1.0之间,默认为0.5,表示在正中间 |
useLevel | 使用等级 | 如果为true,则可在LevelListDrawable中使用。这通常应为“false”,否则形状不会显示 |
startColor | 渐变开始的颜色 | - |
centerColor | 渐变中间的颜色 | - |
endColor | 渐变结束的颜色 | - |
gradientRadius | 渐变半径 | 渐变的半径,只有渐变类型为radial时才使用 |