Android中Shape的使用
shape图形绘制,直接开门见山吧;
shape的形状,默认为矩形,可以设置为矩形(rectangle)、椭圆形(oval)、线性形状(line)、环形(ring)
具体根据代码看如下五种类型:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape=["rectangle" | "oval" | "line" | "ring"]>
<!-- 圆角 -->
<corners
android:bottomLeftRadius="2dp"
android:bottomRightRadius="2dp"
android:radius="9dp"
android:topLeftRadius="2dp"
android:topRightRadius="2dp" />
<!-- 渐变 -->
<gradient
android:angle="45"
android:centerColor="@android:color/black"
android:centerX="0"
android:centerY="0"
android:endColor="@android:color/black"
android:gradientRadius="90"
android:startColor="@android:color/white"
android:type="radial"
android:useLevel="[true|false]" />
<!-- 间隔 -->
<padding
android:bottom="2dp"
android:left="2dp"
android:right="2dp"
android:top="2dp" />
<!-- 各方向的间隔 -->
<!-- 大小 -->
<size
android:height="50dp"
android:width="50dp" />
<!-- 宽度和高度 -->
<!-- 填充 -->
<solid android:color="@android:color/white" />
<!-- 填充的颜色 -->
<!-- 描边 -->
<stroke
android:dashGap="2dp"
android:dashWidth="1dp"
android:width="2dp"
android:color="@android:color/black" />
</shape>
接下来举一个开发中常用的例子:
选中改变边框,以及填充颜色;corners:圆角;stroke:边框;solid :填充颜色;
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" >
<shape>
<corners android:radius="5dp" />
<stroke
android:width="2dp"
android:color="#00B29C"/>
<solid android:color="@color/white"/>
</shape>
</item>
</selector>