shape简单使用
简介
- 从其名字可以理解,shape就是形状嘛。
- 至于怎么理解shape可以参照图片,我可以加载一个图片作为我的background,那么同理我也可以加载一个shape作为background
- 有何区别呢?用代码写的shape要比直接加载png或.9文件占用更少的内存,性能更好
简单案例:
<?xml version="1.0" encoding="utf-8"?>然后在相应的控件中指定background即可。
shape子标签
corners — 中文翻译成角落,可以理解成圆角
其中又有:
- radius 所有圆角半径
- toLeftRadius
- toRightRadius
- bottomLeftRadius
- bottomRightRadis
gradient
用来定义渐变色的,可以定义两色渐变和三色渐变,以及渐变样式,属性有:
- type:linear, radial,sweep,分别为线性(左到右直线渐变)、放射(中心为放射点)、扫描(雷达扫描~)渐变
- angle:渐变角度,必须为45的倍数,0为从左到右 90为从上到下 仅对线性渐变有效
以下三个是通用的: - startColor 渐变开始点的颜色
- centerColor 渐变中点的颜色,在开始与结束中间
- endColor 渐变结束点的颜色
以下三个是仅用于放射渐变: - centerX 渐变中心点X的相对位置,范围为0-1 仅用于放射类型
- centerY 同上 同样仅同于放射类型, 两者的选取其实就是宽和高的百分比
- gradientRadius 渐变的半径,只有当渐变类型为radial时才可使用,且只有设置了该属性,radial渐变才有效
- useLevel true or false使用LevelListDrawable时要设置为true,通常不用,默认值为false
padding
定义内部边距
- left
- top
- right
- bottom
size
基本不怎么用,因为控件本身也具有定义size的功能。 其用来定义图形的大小
- width
- height
solid — 中文翻译成固体的、结实的,可以理解成填充
只有一个属性:
- color
stroke — 中文翻译为划、轻抚,可以理解成描边
是描边属性,可以定义描边的宽度,颜色,虚实线等
- width 描边的宽度
- color 描边的颜色
以下两个用于设置虚线 - dashWidth 虚线的宽度,值为0时是实线
- dashGap 虚线的间隔
Shape的本身属性
上面讲的是shape子标签,现在讲shape本身的属性
- shape: shape本身的形状,有rectangle、oval、line、ring。分别是矩形(默认值),椭圆形,线性,环形
- rectangle的属性:
- 首先,ractangle是默认值
- 其没有额外的属性
- oval的属性:
- 其表示控件大小的矩形所对应的椭圆
- line
- 用处好像不大
- ring的属性:
- innerRadius 内环的半径
- innerRadiusRatio 浮点,以环的宽度比率来表示内环的半径
- thickness 环的厚度
- thicknessRatio 以环的宽度比率来表示环的厚度
- useLevel 不常用
来源:CSDN
作者:鹏鹏~
链接:https://blog.csdn.net/qq_36321889/article/details/88910979