一、shape的形状
android : shape = [rectangle | oval | line |ring ]
默认为rectangle
二、内边距padding
padding : 配置外边缘与文字之间的间距,相当于android:padding
注意:间距的优先级
(一)控件的宽高无法改变
layout_width = fill_parent / match_parent
layout_height = fill_parent / match_parent
1、如果左右内边距之和小于parent,则优先考虑左边距
如果上下内边距之和小于parent,则优先考虑顶部边距
2、如果左右内边距或上下内边距之和大于parent,则控件往中间压缩,导致无法正常显示或者消失不见
如:左边100dip,右边150dip
(二)控件的宽高可变
layout_width = wrap_content
layout_height = wrap_content
整体的宽度 = 左右内边距 + wrap_content
整体的高度 = 上下内边距 + wrap_content
三、渐变gradient
1、type = [linear | Radial |sweep] :线性渐变 | 径向渐变 |
线性渐变:从左到右
径向渐变:渐变起点几何中心
渐变半径:gradientRadius=”50”
2、angle:渐变角度,必须为45的整数倍
当angle=0时,渐变色是从左向右。 然后逆时针方向转,当angle=90时为从下往上。angle=180时从右往左,angle=270时从上往下
3、centerColor :渐变的中间转换颜色,必须设定centerX和centerY,一般情况下centerX = 0.5,centerY = 0.5
四、填充颜色solid
默认为黑色(#000000)
五、圆角corners
值为4个圆角的半径,默认为直角
六、描边stroke
width:边的宽度,默认为0,所以在设置边框时,一定要设置宽度
color:边的颜色
dashWidth :表示这样一个 ’-’ 的距离
dashGap :表示 ‘-’ 之间的间隔
注:dashWidth与大师Gap 用于将实线边框变为虚线边框
七、大小Size
width 、height。默认的情况下回包裹控件,所以一般不需要设置
由于shape用于做背景,所以shape的宽高不影响空间的宽高
注:shape的所有属性中,只用padding于控件相关联,其他属性都跟控件是分离的