说明
使用shape可以改变View的形状以及样式
xml格式
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
</shape>
shape可以画四种形状:
rectangle:矩形,默认的形状,可以画出直角矩形、圆角矩形、弧形等oval: 椭圆形,用得比较多的是画正圆line: 线形,可以画实线和虚线ring: 环形,可以画环形进度条
直角矩形以及定义圆角大小
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="10dp" />
<solid android:color="@color/colorAccent"></solid>
<padding
android:bottom="12dp"
android:left="12dp"
android:right="12dp"
android:top="12dp"></padding>
</shape>
#### 定义边框
* stroke:定义边框
* android:width:边框大小
* android:color:边框颜色
#### 椭圆(oval)
size节点的的height、width属性为一样大小就是一个圆了。
#### 渐变效果
* android:centerX:表示渐变的X轴起始位置,范围0-1,0.5表示圆心。
* android:centerY:表示渐变的Y轴起始位置,范围0-1,0.5表示圆心。
* android:type:渐变类型,有三种
-
linear 线性渐变,默认的渐变类型
-
radial 放射渐变,设置该项时,android:gradientRadius也必须设置
-
sweep 扫描性渐变
#### 线(line)
* android:width:填充颜色的高度
* android:dashGap:虚线间距宽度
* android:dashWidth:虚线宽度
```java
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line">
<stroke
android:width="1dp"
android:color="@color/colorAccent"
android:dashGap="3dp"
android:dashWidth="4dp"></stroke>
<size android:height="3dp"></size>
</shape>
<div class="se-preview-section-delimiter"></div>
圆环(ring)
android:thickness:圆环宽度
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="ring"
android:useLevel="false"
android:thickness="10dp">
<solid android:color="@color/colorAccent"></solid>
</shape>
<div class="se-preview-section-delimiter"></div>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="ring"
android:thickness="10dp"
android:useLevel="false">
<solid android:color="@color/colorAccent"></solid>
<gradient
android:endColor="@color/colorPrimary"
android:startColor="@color/colorAccent"
android:type="sweep"></gradient>
</shape>
<div class="se-preview-section-delimiter"></div>
属性集合
“`