Android中常常使用shape来定义控件的一些显示属性:
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 实心 --> <solid android:color="#ff9d77"/> <!-- 渐变 --> <gradient android:startColor="#ff8c00" android:endColor="#FFFFFF" android:angle="270" /> <!-- 描边 --> <stroke android:width="2dp" android:color="#dcdcdc" /> <!-- 圆角 --> <corners android:radius="2dp" /> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> </shape>solid:实心,就是填充的意思
corners:圆角
android:radius为角的弧度,值越大角越圆。
我们还可以把四个角设定成不同的角度,方法为:
<corners android:topRightRadius="20dp" 右上角 android:bottomLeftRadius="20dp" 右下角 android:topLeftRadius="1dp" 左上角 android:bottomRightRadius="0dp" 左下角 />
另一个例子加说明:
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:startColor="#c0000000" android:endColor="#c0000000" android:angle="90" /><!--背景颜色渐变 --> <solid android:color="#00ffffff" /><!-- 背景的填充颜色 --> <stroke android:width="3dp" color="#ff000000" /><!-- 描边,width是边得宽度,color是颜色 --> <corners android:radius="10dp" /><!-- 边角圆弧的半径 --> <padding android:left="3dp" android:top="3dp" android:right="3dp" android:bottom="3dp" /><!-- 四周留出来的空白 --> </shape>
文件名为box1.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <stroke android:width="4dp" android:color="#888888" /> <!-- 描边,width是边得宽度,color是颜色 --> <padding android:left="2dp" android:top="2dp" android:right="2dp" android:bottom="2dp" /> <!-- 四周边距 --> <corners android:radius="4dp" /> <!-- 边角圆弧的半径 --> </shape>
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="150dp" android:layout_height="120dp" android:background="@drawable/box1" <!-- 调用方法 --> > ............ ............ </LinearLayout>