实例1
<?xml version="1.0" encoding="UTF-8"?> <!-- 底部圆角 白色背景 灰色边框 长方体 --> <layer-list xmlns:tools="http://schemas.android.com/tools"xmlns:android="http://schemas.android.com/apk/res/android"tools:ignore="MissingDefaultResource"><item><shape><solid android:color="@color/blue" /><corners android:topLeftRadius="0dp" android:topRightRadius="10dp"android:bottomRightRadius="10dp" android:bottomLeftRadius="0dp" /><stroke android:width="0dp" android:color="@color/blue" /></shape></item> <!-- 四个外边的线的宽度--><item android:top="1dp" android:bottom="1dp" android:left="1dp" android:right="1dp"><shape><solid android:color="@color/white" /><corners android:topLeftRadius="0dp" android:topRightRadius="10dp"android:bottomRightRadius="10dp" android:bottomLeftRadius="0dp" /><stroke android:width="0dp" android:color="@color/white" /></shape></item> </layer-list>
实例2
<?xml version="1.0" encoding="UTF-8"?> <!-- 底部圆角 白色背景 灰色边框 长方体 --> <layer-list xmlns:tools="http://schemas.android.com/tools"xmlns:android="http://schemas.android.com/apk/res/android"tools:ignore="MissingDefaultResource"><item><shape><solid android:color="@color/white" /><corners android:topLeftRadius="10dp" android:topRightRadius="0dp"android:bottomRightRadius="0dp" android:bottomLeftRadius="10dp" /><stroke android:width="0dp" android:color="@color/white" /></shape></item><item android:top="0dp" android:bottom="0dp" android:left="0dp" android:right="0dp"><shape><solid android:color="@color/blue" /><corners android:topLeftRadius="10dp" android:topRightRadius="0dp"android:bottomRightRadius="0dp" android:bottomLeftRadius="10dp" /><stroke android:width="0dp" android:color="@color/blue" /></shape></item> </layer-list>
shape可设置view的形状背景背影等
1、stroke
这是描边属性,可以定义描边的宽度,颜色,虚实线等
- <stroke
- android:width="dimension" //描边的宽度
- android:color="color" //描边的颜色
- // 以下两个属性设置虚线
- android:dashWidth="dimension" //虚线的宽度,值为0时是实线
- android:dashGap="dimension" /> //虚线的间隔
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" ><strokeandroid:width="10dp"android:color="#00ff00"android:dashWidth="17dp"android:dashGap="5dp" />
</shape>
2、gradient
gradient用以定义渐变色,可以定义两色渐变和三色渐变,及渐变样式,它的属性有下面几个:
android:type=["linear" | "radial" | "sweep"] //共有3中渐变类型,线性渐变(默认)/放射渐变/扫描式渐变
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" ><gradientandroid:type="sweep"android:startColor="#ff0000"android:centerColor="#00ff00"android:endColor="#0000ff"/>
</shape>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" ><gradientandroid:type="linear"android:startColor="#ff0000"android:centerColor="#00ff00"android:endColor="#0000ff"/>
</shape>
要加上android:gradientRadius属性(渐变半径)
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" ><gradientandroid:type="radial"android:startColor="#ff0000"android:centerColor="#00ff00"android:endColor="#0000ff"android:gradientRadius="100"/>
</shape>
3、solid
solid用以指定内部填充色
只有一个属性:
<solid android:color="@color/log_iconbgc" />
4、Corners
Corners标签是用来字义圆角的
- <corners //定义圆角
- android:radius="dimension" //全部的圆角半径
- android:topLeftRadius="dimension" //左上角的圆角半径
- android:topRightRadius="dimension" //右上角的圆角半径
- android:bottomLeftRadius="dimension" //左下角的圆角半径
- android:bottomRightRadius="dimension" /> //右下角的圆角半径
<cornersandroid:topLeftRadius="5dp"android:topRightRadius="6dp"android:bottomLeftRadius="8dp"android:bottomRightRadius="1dp"/>
5、shape
oval 椭圆
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="oval"><solid android:color="#ff00ff"/>
</shape>
ring(环形)
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="ring"android:innerRadius="20dp"android:thickness="50dp"android:useLevel="false"><solid android:color="#ff00ff"/></shape>