<?xml version="1.0" encoding="utf-8"?> <!-- android:shape=["rectangle" | "oval" | "line" | "ring"] shape的形狀,默認為矩形,可以設置為矩形(rectangle)、橢圓形(oval)、線性形狀(line)、環形(ring) 下面的屬性只有在android:shape="ring時可用: android:innerRadius 尺寸,內環的半徑。 android:innerRadiusRatio 浮點型,以環的寬度比率來表示內環的半徑, 例如,如果android:innerRadiusRatio,表示內環半徑等於環的寬度除以5,這個值是可以被覆蓋的,默認為9. android:thickness 尺寸,環的厚度 android:thicknessRatio 浮點型,以環的寬度比率來表示環的厚度,例如,如果android:thicknessRatio="2", 那么環的厚度就等於環的寬度除以2。這個值是可以被android:thickness覆蓋的,默認值是3. android:useLevel boolean值,如果當做是LevelListDrawable使用時值為true,否則為false. --> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!-- 圓角 android:radius 整型 半徑 android:topLeftRadius 整型 左上角半徑 android:topRightRadius 整型 右上角半徑 android:bottomLeftRadius 整型 左下角半徑 android:bottomRightRadius 整型 右下角半徑 當同時設置5個屬性時,android:radius無效 --> <corners android:radius="9dp" android:topLeftRadius="2dp" android:topRightRadius="2dp" android:bottomLeftRadius="2dp" android:bottomRightRadius="2dp"/><!-- 設置圓角半徑 --> <!-- 漸變色 android:startColor 顏色值 起始顏色 android:endColor 顏色值 結束顏色 android:centerColor 整型 漸變中間顏色,即開始顏色與結束顏色之間的顏色 android:angle 整型 漸變角度(PS:當angle=0時,漸變色是從左向右。 然后逆時針方向轉,當angle=90時為從下往上。angle必須為45的整數倍) android:type ["linear" | "radial" | "sweep"] 漸變類型(取值:linear、radial、sweep) linear 線性漸變,這是默認設置 radial 放射性漸變,以開始色為中心。 sweep 掃描線式的漸變。 android:useLevel ["true" | "false"] 如果要使用LevelListDrawable對象,就要設置為true。設置為true無漸變。false有漸變色 android:gradientRadius 整型 漸變色半徑.當 android:type="radial" 時才使用。單獨使用 android:type="radial"會報錯。 android:centerX 整型 漸變中心X點坐標的相對位置 android:centerY 整型 漸變中心Y點坐標的相對位置 android:startColor,android:centerColor,android:endColor:分別為顏色的起始顏色,中間顏色和結束顏色。如果沒有設置中間顏色,那么就從起始顏色漸變到結束顏色,否則回從起始顏色漸變到中間顏色,再從中間顏色漸變到結束顏色。 android:centerX,android:centerY:我覺得這兩個屬性有存在的必要性的前提是要有 android:centerColor。原因是當我沒有設置android:centerColor屬性時,任意的改變這兩個屬性的值都不會改變控件的顯示效果。這兩個屬性是漸變的中間位置。大小都是再0.0--1.0。 --> <gradient android:startColor="@android:color/white" android:centerColor="@android:color/black" android:endColor="@android:color/black" android:useLevel="true" android:angle="45" android:type="radial" android:centerX="0" android:centerY="0" android:gradientRadius="90"/> <!-- 內邊距,即內容與邊的距離 android:left 整型 左內邊距 android:top 整型 上內邊距 android:right 整型 右內邊距 android:bottom 整型 下內邊距 --> <padding android:left="2dp" android:top="2dp" android:right="2dp" android:bottom="2dp"/><!-- 各方向的間隔 --> <!-- size 大小 android:width 整型 寬度 android:height 整型 高度 --> <size android:width="50dp" android:height="50dp"/><!-- 寬度和高度 --> <!-- 內部填充 android:color 顏色值 填充顏色 --> <solid android:color="@android:color/white"/><!-- 填充的顏色 --> <!-- 描邊 android:width 整型 描邊的寬度 android:color 顏色值 描邊的顏色 android:dashWidth 整型 表示描邊的樣式是虛線的寬度, 值為0時,表示為實線。值大於0則為虛線。 android:dashGap 整型 表示描邊為虛線時,虛線之間的間隔 即“ - - - - ” android:dashWidth:線條的長度。當設置了該值時,將會顯示位虛線。除非你dashWidth設置的值很大,那么看起來還是一條完整的線條。 android:dashGap:線條之間的距離。只在設置了dashWidth屬性的情況下才會有效果。可以認為是虛線之間的寬度。 --> <stroke android:width="2dp" android:color="@android:color/black" android:dashWidth="1dp" android:dashGap="2dp"/> </shape>