Android中xml中shape的屬性助記

對於shape的一些屬性老是忘記,每次都要去查找,爲了方便我就自己記錄下來,方便以後忘記了再查看這些屬性。

在shape中有幾個屬性rectangle、oval、line、ring
1.環形ring
    在shape標籤中把shape屬性設置爲ring類型
    然後在shape標籤中設置以下屬性(這些屬性只能在shape值爲ring是使用)
    android:innerRadius       內環的半徑,尺寸單位是dp(不設置這個參數,會有個默認值)
    android:thickness           環的寬度,尺寸單位是dp(一定要設置的參數)
    android:useLevel            boolean值,如果當做是LevelListDrawable使用時值爲true,否則爲false. (這條屬性一定要設置,不然看不見效果,暫時先設置爲false)
    
    android:innerRadiusRatio    浮點型,以環的寬度比率來表示內環的半徑。默認是9,就是環的寬度乘以9再除以2就是內環半徑的長度
    android:thickne***atio      浮點型,以環的寬度比率來表示環的厚度。
    
2.橢圓oval
    可以通過子標籤size設置橢圓大小,當寬和高相等時就是圓。一般也不再子標籤size中設置寬高,而是設置控件的寬高。
    
3.矩形rectangle
    可以通過子標籤size標籤設置矩形大小,當寬和高相等時就是正方形。一般也不再子標籤size中設置寬高,而是設置控件的寬高。
    在shape沒有指定時,默認就是矩形
    
4.直線line
    可以畫一條直線,也可以畫一條虛線    

在shape的子標籤中有gradient、corners、padding、size、solid、stroke
1.描形狀的線stroke
    android:width="dimension"   線的粗細
    android:color="color"            線的顏色
    // 以下兩個屬性是設置虛線時使用,實線不設置這兩個屬性
    android:dashWidth="dimension"       每節虛線的長度
    android:dashGap="dimension"          每節虛線直接的間隙寬度
 
  注:在畫ring,line時這個屬性必須設置,在畫oval,rectangle時需要描邊就設置,不需要就不設置

2.填充顏色solid
    android:color="color"   需要填充形狀內部顏色時使用這個屬性
    
    注:在畫line時不要設置這個屬性,在畫ring,oval,rectangle是需要實心就設置,需要空心就不設置
    
3.設置圖片大小size
    android:width="dimension"          設置寬度
    android:height="dimension"         設置高度
    
    注:在畫oval時寬高相等就是圓形,在畫rectangle是寬高相等就是正方形,不過一般不在這裏設置,基本在控件設置寬高

4.內邊距padding
    android:left="dimension"      設置左內邊距
    android:top="dimension"            設置上內邊距
    android:right="dimension"        設置右內邊距
    android:bottom="dimension"        設置下內邊距

    注:一般不用設置這個屬性

5.圓角corners
    android:radius="dimension"            全部的圓角半徑
    //上面全部都圓角,和下面四個屬性不共存,要麼全部都圓角,要麼根據下面屬性給每個角設置
    android:topLeftRadius="dimension"     左上角的圓角半徑    
    android:topRightRadius="dimension"    右上角的圓角半徑    
    android:bottomLeftRadius="dimension"  左下角的圓角半徑    
    android:bottomRightRadius="dimension" 右下角的圓角半徑

    注:圓角一般是在rectangle情況下使用

6.漸變色gradient
   android:type=["linear" | "radial" | "sweep"]    共有3中漸變類型,線性漸變(默認)/放射漸變/掃描式漸變
  android:startColor="color"       漸變開始點的顏色    
  android:centerColor="color"      漸變中間點的顏色,在開始與結束點之間    
  android:endColor="color"         漸變結束點的顏色
  android:angle="integer"              漸變角度,必須爲45的倍數,0爲從左到右,90爲從上到下
  android:gradientRadius="float"   漸變的半徑,只有當漸變類型爲radial時才能使用
  android:centerX="float"          漸變中心X的相當位置,範圍爲0~1,從左到右,默認0.5
  android:centerY="float"          漸變中心Y的相當位置,範圍爲0~1,從上到下,默認0.5
  android:useLevel="boolean"       使用LevelListDrawable時就要設置爲true。設爲false時纔有漸變效果

    注:當類型type爲linear時,angle屬性纔有效;當類型type爲radial時,gradientRadius屬性必須設置;當類型type爲sweep時,centerX和centerY屬性纔有效。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章