Android中shape用法详解

开发中都会涉及控件的自定义图形的设置,保证控件的美观,这就涉及到shape的用法的使用

一、使用步骤

  1. 在'res/drawable'下新建一个xml文件;
  2. 在代码中引用这个xml文件,引用方式和图片一样

二、shape属性介绍

android:shape属性有矩形(默认)[rectangle]、椭圆形[oval]、直线性[line]和环形[ring]
其中当属性为环形[ring]时,还可以设置如下属性:

属性 作用
innerRadius="dimension" 内环半径
innerRadiusRadio="float" 内环半径相对于环的宽度的比例,比如环的宽度为50,比例为2.5,那么内环半径为20
thickness="dimension" 环的厚度
thicknessRatio="float" 环的厚度相对于环的宽度的比例
useLevel="boolean" 如果当做是LevelListDrawable使用时值为true,否则值为false

三、在shape内部属性值

  • corner:定义圆角
  • gradient:定义渐变效果
  • padding:定义内部边距
  • size:定义自定义的图形大小
  • solid:定义内部填充颜色
  • stroke:定义边界绘制

四、corners的内部属性

属性 作用
radius="dimension" 全部的圆角半径
topLeftRadius="dimension" 左上角的圆角半径
topRightRadius="dimension" 右上角的圆角半径
bottomLeftRadius="dimension" 左下角的圆角半径
bottomRightRadius="dimension" 右下角的圆角半径

五、gradient的内部属性

属性 作用
type=["linear"/ "radial" / "sweep"] 共有3中渐变类型,线性渐变(默认)/放射渐变/扫描式渐变
angle="integer" 渐变角度,必须为45的倍数,0为从左往右,90位从上往下
centerX="float" 渐变中心X的相对位置,范围为0~1
centerY="float" 渐变中心Y的相对位置,范围为0~1
startColor="color" 渐变开始点的颜色
centerColor="color" 渐变中间点的颜色,从开始与结束点之间
endColor="color" 渐变结束点的颜色
gradientRadius="float" 渐变的半径,只有当渐变类型为radial时才能使用
useLevel=["true" / "false"] 使用LevelListDrawable时就要设置为true。设为false时才有渐变效果

六、padding属性

属性 作用
left="dimension" 左边内容的距离
right="dimension" 右边内容的距离
top="dimension" 上边内容的距离
bottom="dimension" 下边内容的距离

七、size属性

属性 作用
width="dimension" 宽度
height="dimension" 高度

八、solid属性

属性 作用
color="color" 填充颜色

九、stroke属性

属性 作用
width="dimension" 描边的宽度
color="color" 描边的颜色
dashWidth="dimension" 虚线的宽度,值为0时是实线
dashGap="dimension" 虚线的间隔

具体的如何使用参考文献:Android中shape的用法详解

你可能感兴趣的:(Android中shape用法详解)