在Android开发过程中,我们会经常用到Shape去定义各种各样的布局(形状),首先呢我们要了解一下Shape里面都有哪些标签,都代表什么意思:
shape里面有4条属性,大家可以试下都是什么形状,下面以oval为例:
stroke:描边
指定宽度的颜色
solid:填充
指定填充的颜色
size:大小
例如:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <!-- 填充 --> <solid android:color="@color/red_light1"/> <!-- 定义填充的颜色值 --> <!-- 描边 --> <stroke android:width="5dp" android:color="@color/red_light2"/> <!-- 定义描边的宽度和描边的颜色值 --> <!-- 大小 --> <size android:width="50dp" android:height="50dp"/> </shape>
padding:间隔
可以设置上下左右四个方向的间隔
<!-- 间隔 --> <padding android:left="10dp" android:top="1dp" android:right="5dp" android:bottom="1dp"/> <!-- 设置各个方向的间隔 -->
gradient:渐变
android:startColor和android:endColor分别为起始和结束颜色,
android:angle是渐变角度,必须为45的整数倍。
另外渐变默认的模式为android:type="linear",即线性渐变,
可以指定渐变为径向渐变,android:type="radial",径向渐变需要指定半径android:gradientRadius="50"。
代码:
渐变 <gradient android:endColor="#FFFFFF" android:gradientRadius="50" android:startColor="#ff8c00" android:type="radial" />corners:圆角
<!-- 圆角 --> <corners android:topLeftRadius="3dp" android:bottomLeftRadius="3dp" android:topRightRadius="3dp" android:bottomRightRadius="3dp"/> <!-- 设置四个角的半径 -->很简单吧,使用的时候在drawable文件夹下添加一个你需要的xml文件引用就可以了
圆形波浪效果带百分比地址:Android实现波浪效果,带百分比进度
后期慢慢将之代码更新上去