# ShapeDrawable: Android studio

xiaoxiao2021-02-28  115

说明

使用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" /> <!--也可以单独定义四个角--> <!--所有角--> <!--android:radius="integer"--> <!--左上、右上、左下、右下。--> <!--android:topLeftRadius="integer"--> <!--android:topRightRadius="integer"--> <!--android:bottomLeftRadius="integer"--> <!--android:bottomRightRadius="integer"--> <!--背景颜色--> <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>

属性集合

“`

转载请注明原文地址: https://www.6miu.com/read-43436.html

最新回复(0)