- shape用于设定形状,可以在selector、layout等里面使用,有6个子标签:
在res/drawable文件夹下,新建一个文件,命名为:shape_child_attrs.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 圆角
<corners //定义圆角
android:radius="dimension" //全部的圆角半径
android:topLeftRadius="dimension" //左上角的圆角半径
android:topRightRadius="dimension" //右上角的圆角半径
android:bottomLeftRadius="dimension" //左下角的圆角半径
android:bottomRightRadius="dimension" /> //右下角的圆角半径
-->
<corners
android:radius="9dp"
android:topLeftRadius="2dp"
android:topRightRadius="2dp"
android:bottomLeftRadius="2dp"
android:bottomRightRadius="2dp"/><!-- 设置圆角半径 -->
<!-- 渐变 当设置填充solid颜色后,无渐变效果-->
<gradient
android:startColor="@android:color/white" //渐变开始点的颜色
android:centerColor="@android:color/black" //渐变中间点的颜色
android:endColor="@android:color/black" //渐变结束点的颜色
android:useLevel="true" //useLevel属性通常不使用。
android:angle="45" //角度必须是45的倍数
android:type="radial" //共有3中渐变类型,线性渐变(默认)/放射渐变/扫描式渐变(linear、radial、 sweep)
android:centerX="0"
android:centerY="0"
android:gradientRadius="90"//渐变的半径,只有当渐变类型为radial时才能使用 />
<!-- 间隔 用来定义内部边距-->
<padding
android:left="2dp"
android:top="2dp"
android:right="2dp"
android:bottom="2dp"/><!-- 各方向的间隔 -->
<!-- 大小 是用来定义图形的大小的 -->
<size
android:width="50dp"
android:height="50dp"/><!-- 宽度和高度 -->
<!-- 填充 用来指定内部填充色-->
<solid
android:color="@android:color/white"/><!-- 填充的颜色 -->
<!-- 描边
<stroke
android:width="dimension" //描边的宽度
android:color="color" //描边的颜色
android:dashWidth="dimension" //虚线的宽度,值为0时是实线
android:dashGap="dimension" /> //虚线的间隔
-->
<stroke
android:width="2dp"
android:color="@android:color/black"
android:dashWidth="1dp"
android:dashGap="2dp"/>
</shape>
- Shape有自己的属性,可以定义当前Shape的形状(rectangle(矩形)、oval(椭圆)、line(线形)、ring(环形)),比较常用的是矩形rectangle搭配其他子属性一起使用。
在res/drawable文件夹下,新建一个文件,命名为:shape_style.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#000"/>
</shape>
网友评论