您好,登錄后才能下訂單哦!
對于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屬性才有效。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。