shape是Android中常用的一種XML圖形文件。
形狀圖形的定義文件以shape元素為根節點。根節點下定義了6個節點:corners(圓角)、gradient(漸變)、padding(間隔)、size(尺寸)、solid(填充)、stroke(描邊),各節點的屬性值主要是長寬、半徑、角度以及顏色。
常用的三個節點 corners(圓角)、solid(填充) 和 stroke(描邊) 簡要說明如下:
(一)corners
corners是shape的下級節點,用來描述4個圓角的規格定義。若無corners節點,則表示沒有圓角。下面是corners節點的常用屬性說明:
- bottomLeftRadius: 像素類型,左下圓角的半徑。
- bottomRightRadius: 像素類型,右下圓角的半徑。
- topLeftRadius: 像素類型,左上圓角的半徑。
- topRightRadius: 像素類型,右上圓角的半徑。
- radius: 像素類型,圓角半徑(若有上面4個圓角半徑的定義,則不需要radius定義)。
(二)solid
solid是shape的下級節點,用來描述形狀圖形的尺寸大小(寬度和高度)。若無solid節點,則表示無填充顏色。下面是solid節點的常用屬性說明:
- color: 顏色類型,內部填充的顏色。
(三)stroke
stroke是shape的下級節點,用來描述形狀圖形四周邊線的規格定義。若無stroke節點,則表示不存在描邊。下面是stroke節點的常用屬性說明。
- color: 顏色類型,描邊的顏色。
- dashGap: 像素類型,每段虛線之間的間隔。
- dashWidth: 像素類型,每段虛線的寬度
- width: 像素類型,描邊的厚度。若dashGap和dashWidth有一個值為0,則描邊為實線。
代碼示例:
1 <?xml version="1.0" encoding="utf-8"?> 2 <shape xmlns:android="http://schemas.android.com/apk/res/android"> 3 4 <solid android:color="#ffffff" /> 5 6 <stroke 7 android:width="1dp" 8 android:color="#bbbbbb" /> 9 10 <corners 11 android:bottomLeftRadius="10dp" 12 android:bottomRightRadius="10dp" 13 android:topLeftRadius="10dp" 14 android:topRightRadius="10dp" /> 15 16 </shape>