一、在res/drawable文件夾下創建一個名為gradient_box的xml文件:
1 <?xml version="1.0" encoding="utf-8"?> 2 <!-- 3 shape drawable xml文件中定義的一個幾何圖形,定義在res/drawable/目錄下,文件名filename稱為訪問的資源ID 4 在代碼中通過R.drawable.filename進行訪問,在xml文件中通過@[package:]drawable/filename進行訪問。 5 6 --> 7 <!-- 8 android:shape=["rectangle" | "oval" | "line" | "ring"] 9 shape的形狀,默認為矩形,可以設置為矩形(rectangle)、橢圓形(oval)、線性形狀(line)、環形(ring) 10 下面的屬性只有在android:shape="ring時可用: 11 android:innerRadius 尺寸,內環的半徑。 12 android:innerRadiusRatio 浮點型,以環的寬度比率來表示內環的半徑, 13 例如,如果android:innerRadiusRatio,表示內環半徑等於環的寬度除以5,這個值是可以被覆蓋的,默認為9. 14 android:thickness 尺寸,環的厚度 15 android:thicknessRatio 浮點型,以環的寬度比率來表示環的厚度,例如,如果android:thicknessRatio="2", 16 那么環的厚度就等於環的寬度除以2。這個值是可以被android:thickness覆蓋的,默認值是3. 17 android:useLevel boolean值,如果當做是LevelListDrawable使用時值為true,否則為false. 18 19 --> 20 <shape xmlns:android="http://schemas.android.com/apk/res/android" 21 android:shape="rectangle" > 22 23 <!-- 24 圓角 25 android:radius 整型 半徑 26 android:topLeftRadius 整型 左上角半徑 27 android:topRightRadius 整型 右上角半徑 28 android:bottomLeftRadius 整型 左下角半徑 29 android:bottomRightRadius 整型 右下角半徑 30 31 --> 32 <corners 33 android:bottomLeftRadius="20dp" 34 android:bottomRightRadius="25dp" 35 android:radius="8dp" 36 android:topLeftRadius="5dp" 37 android:topRightRadius="15dp" /> 38 39 <!-- 40 漸變色 41 android:startColor 顏色值 起始顏色 42 android:endColor 顏色值 結束顏色 43 android:centerColor 整型 漸變中間顏色,即開始顏色與結束顏色之間的顏色 44 android:angle 整型 漸變角度(PS:當angle=0時,漸變色是從左向右。 然后逆時針方向轉,當angle=90時為從下往上。angle必須為45的整數倍) 45 android:type ["linear" | "radial" | "sweep"] 漸變類型(取值:linear、radial、sweep) 46 linear 線性漸變,這是默認設置 47 radial 放射性漸變,以開始色為中心。 48 sweep 掃描線式的漸變。 49 android:useLevel ["true" | "false"] 如果要使用LevelListDrawable對象,就要設置為true。設置為true無漸變。false有漸變色 50 android:gradientRadius 整型 漸變色半徑.當 android:type="radial" 時才使用。單獨使用 android:type="radial"會報錯。 51 android:centerX 整型 漸變中心X點坐標的相對位置 52 android:centerY 整型 漸變中心Y點坐標的相對位置 53 54 --> 55 <gradient 56 android:angle="45" 57 android:endColor="#80FF00FF" 58 android:startColor="#FFFF0000" /> 59 60 <!-- 61 內邊距,即內容與邊的距離 62 android:left 整型 左內邊距 63 android:top 整型 上內邊距 64 android:right 整型 右內邊距 65 android:bottom 整型 下內邊距 66 67 --> 68 <padding 69 android:bottom="10dp" 70 android:left="10dp" 71 android:right="10dp" 72 android:top="10dp" /> 73 74 <!-- 75 size 大小 76 android:width 整型 寬度 77 android:height 整型 高度 78 79 --> 80 <size android:width="600dp" /> 81 82 <!-- 83 內部填充 84 android:color 顏色值 填充顏色 85 86 --> 87 <solid android:color="#ffff9d77" /> 88 89 <!-- 90 描邊 91 android:width 整型 描邊的寬度 92 android:color 顏色值 描邊的顏色 93 android:dashWidth 整型 表示描邊的樣式是虛線的寬度, 值為0時,表示為實線。值大於0則為虛線。 94 android:dashGap 整型 表示描邊為虛線時,虛線之間的間隔 即“ - - - - ” 95 96 --> 97 <stroke 98 android:width="2dp" 99 android:color="#dcdcdc" /> 100 101 </shape>
二、在窗口布局文件中將步驟一中創建的文件作為TextView的背景:
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout 3 xmlns:android="http://schemas.android.com/apk/res/android" 4 android:layout_width="fill_parent" 5 android:layout_height="fill_parent"> 6 <TextView 7 android:layout_width="wrap_content" 8 android:layout_height="wrap_content" 9 android:text="ShapeTest" 10 android:background="@drawable/gradient_box" 11 android:textSize="24.0dp" 12 android:textColor="@android:color/black" 13 /> 14 </LinearLayout>
三、運行效果展示:

(以上轉自:http://jingyan.baidu.com/article/86112f13513f4127379787b0.html)
1 <?xml version="1.0" encoding="utf-8"?> 2 <shape xmlns:android="http://schemas.android.com/apk/res/android" 3 android:shape="rectangle" > 4 5 <!-- 6 <stroke 7 android:width="1dip" 8 android:color="@color/blue_cosners" /> 9 --> 10 11 <solid android:color="@color/blue_cosners" /> 12 13 <corners 14 android:bottomLeftRadius="4dip" 15 android:bottomRightRadius="4dip" 16 android:topLeftRadius="4dip" 17 android:topRightRadius="4dip" /> 18 19 </shape>
