在android中,我們可以使用shape畫線、圓、環、矩形。shape的儲存位置在專案res/drawable目錄下。
一、建立shape
1、在res/drawable目錄下新建乙個xml檔案,將根節點改為shape。
2、shape根節點有個shape屬性,用來設定該shape檔案是用來畫哪個形狀的,
rectangle:矩形,預設是矩形
line:線
oval:圓
ring:環
二、使用shape畫線。
1、將shape屬性設為line。
2、在shape中使用size節點,設定線的大小。
android3、使用stroke節點,設定線的寬度和顏色。:width=
"300dp"
android
:height=
"100dp"
/>
android三、使用shape畫圓。:color=
"#ff0000"
android
:width=
"1dp"
/>
1、將shape屬性設為oval。
2、在shape中使用size節點,設定圓的大小。
android3、在shape中使用stroke節點,設定填充畫圓線的顏色和線的寬度。:height=
"100dp"
android
:width=
"100dp"
/>
android4、在shape中使用solid節點,設定圓的填充顏色。:color=
"#ff0000"
android
:width=
"1dp"
/>
android5、在shape中使用gradient節點,可以設定圓的漸變顏色,該節點與solid節點衝突,設定了該節點,solid節點將沒有作用。在gradient節點中,有個type屬性,該屬性用來設定漸變的方式,可以設定的方式有linear(線性的漸變,從左到右)、sweep(掃瞄式的漸變,從0角度順時針到360度)、radial(發散式漸變,從中心點往外發散,設定了該方式,則必須設定gradientradius屬性,否則會出現錯誤,設定的值的大小應該在0.522左右,我自己試出來的,具體我也不是清楚,要不然感覺沒效果):color=
"#0000ff"
/>
android四、使用shape畫環:startcolor=
"#ff0000"
android
:centercolor=
"#00ff00"
android
:endcolor=
"#0000ff"
android
:type=
"radial"
android
:gradientradius=
"0.522dp"
/>
1、將shape屬性設定為ring,設定內圓半徑innerradius,設定環的寬度thickness,uselevel設定為false,否則不能出現效果。
android:innerradius=
"50dp"
android
:thickness=
"20dp"
android
:uselevel=
"false"
2、使用size節點,設定環的大小,設定的大小一定要比圓的大小大,否則顯示不出來。(你畫的圓比你的紙都大,那肯定顯示不出來)
android:height=
"200dp"
android
:width=
"200dp"
/>
3、使用stroke節點,設定畫環的邊線的寬度和畫環邊線的顏色。
android:width=
"1dp"
android
:color=
"#00ff00"
/>
4、使用solid節點,設定環的填充顏色。
android5、:color=
"#ff0000"
/>
在shape中使用gradient節點,可以設定圓的漸變顏色,該節點與solid節點衝突,設定了該節點,solid節點將沒有作用。在gradient節點中,有個type屬性,該屬性用來設定漸變的方式,可以設定的方式有linear(線性的漸變,從左到右)、sweep(掃瞄式的漸變,從0角度順時針到360度)、radial(發散式漸變,從中心點往外發散,設定了該方式,則必須設定gradientradius屬性,否則會出現錯誤,設定的值的大小應該在0.522左右,我自己試出來的,具體我也不是清楚,要不然感覺沒效果)
android五、使用shape畫不同角的矩形。:startcolor=
"#ff0000"
android
:centercolor=
"#00ff00"
android
:endcolor=
"#0000ff"
android
:type=
"sweep"
/>
1、設定shape屬性為rectangle。
android2、使用corners節點,設定矩形四個角的圓角半徑,使用radius屬性可以直接設定四個角的圓角半徑,:shape=
"rectangle"
android使用bottomleftradius設定左下角圓角半徑:radius=
"20dp"
android使用bottomrightradius設定右下角圓角半徑:bottomleftradius=
"20dp"
android使用topleftradius設定左上角圓角半徑:bottomrightradius=
"20dp"
android使用toprightradius設定右上角圓角半徑:topleftradius=
"20dp"
android以上五個屬性,設定的值越大,矩形顯示的更圓。:toprightradius=
"20dp"
3、使用size節點設定畫矩形的大小
android4、使用stroke節點,設定畫矩形邊線的寬度和畫矩形邊線的顏色,畫矩形邊線是實線還是虛線,如果是虛線,每個節虛線的長度,和間隔的長度是多少。:height=
"100dp"
android
:width=
"100dp"
/>
android5、使用solid節點,設定矩形填充顏色。:width=
"1dp"
android
:color=
"#00ff00"
android
:dashwidth=
"2dp"
android
:dashgap=
"2dp"
/>
android6、使用gradient節點,設定填充顏色的漸變效果。:color=
"#ff0000"
/>
android:startcolor=
"#ff0000"
android
:centercolor=
"#00ff00"
android
:endcolor=
"#0000ff"
android
:uselevel=
"false"
android
:type=
"linear"
android
:angle=
"270"
android
:centerx=
"0.25"
android
:centery=
"0.25"
/>
angle屬性是只能在type型別為linear時,才能設定,它設定的漸變效果是從哪個角度開始漸變,設定的值只能是45的倍數。
centerx與centery設定的是圍繞那個點漸變。(可能有誤)
官網api shape
關於android裡面Shape屬性的使用
shape屬性 shape的中文意思是模型,形狀。android裡面的shape也是這個意思,它的存在就是為了為給使用者自定義圖形的提供解決方案。總而言之,你可以用它自定義做一些一些簡單的圖形。好像扯的有點多,嗯嗯,好吧,直接說用法吧 在工程上右鍵新建android xml檔案進入建立頁面,選擇re...
android使用shape使元件呈現特殊效果
android radius 10dp android startcolor 33cc00 android endcolor 666600 android angle 45 android left 5dp android top 5dp android right 5dp android bott...
Android中shape的使用
本人在美工方面一直是比較白痴的,對於一些顏色什麼亂七八糟的非常頭痛,但是在android程式設計中這又是經常涉及到的東西,沒辦法,只有硬著頭皮上。android中常常使用shape來定義控制項的一些顯示屬性,今天看了一些shape的使用,對shape有了大體的了解,稍作總結 先看下面的 solid ...