在开发中经常会用到shape标签来定义控件的背景,shape标签总共有四个图形选项,分别是rectangle(矩形),oval(椭圆),line(横线)和ring(圆环) 。
不设置默认rectangle(矩形)
相关属性:
- android:innerRadius 尺寸,内环的半径。
- android:innerRadiusRatio 浮点型,以环的宽度比率来表示内环的半径,
- android:thickness 尺寸,环的厚度
- android:thicknessRatio 浮点型,以环的宽度比率来表示环的厚度,例如,如果android:thicknessRatio="2",
- android:useLevel boolean值,如果当做是LevelListDrawable使用时值为true,否则为false.
下面的属性只有在android:shape="ring"时可用,其他的属性。
示例如下:
创建 drawable-》New-》Drawable resource file 资源文件
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="ring"
android:innerRadius="100dp"
android:thickness="10dp"
android:useLevel="false">
<solid android:color="#ff00ff"/>
</shape>
二、基本属性
基本属性(corners、gradient、padding、size、solid、stroke)
1、corners(角)
- android:radius="dimension" 全部的圆角半径
- android:bottomLeftRadius="dimension" 左下角的圆角半径
- android:bottomRightRadius="dimension" 右下角的圆角半径
- android:topLeftRadius="dimension" 左上角的圆角半径
- android:topRightRadius="dimension" 右上角的圆角半径
示例如下:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners
android:bottomLeftRadius="12dp"
android:bottomRightRadius="16dp"
android:radius="20dp"
android:topLeftRadius="4dp"
android:topRightRadius="8dp" />
<solid android:color="#ffff00" />
</shape>
2、solid(用以指定内部填充色)
只有一个属性
- android:color="color" 指定填充的颜色
上个示例中有体现
3、gradient(用以定义渐变色,可以定义两色渐变和三色渐变,及渐变样式)
它的属性有下面几个: