android中shape的使用

2021-07-23 03:03:43 字數 4369 閱讀 9426

在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節點,設定線的大小。

android

:width=

"300dp"

android

:height=

"100dp"

/>

3、使用stroke節點,設定線的寬度和顏色。
android

:color=

"#ff0000"

android

:width=

"1dp"

/>

三、使用shape畫圓。

1、將shape屬性設為oval。

2、在shape中使用size節點,設定圓的大小。

android

:height=

"100dp"

android

:width=

"100dp"

/>

3、在shape中使用stroke節點,設定填充畫圓線的顏色和線的寬度。
android

:color=

"#ff0000"

android

:width=

"1dp"

/>

4、在shape中使用solid節點,設定圓的填充顏色。
android

:color=

"#0000ff"

/>

5、在shape中使用gradient節點,可以設定圓的漸變顏色,該節點與solid節點衝突,設定了該節點,solid節點將沒有作用。在gradient節點中,有個type屬性,該屬性用來設定漸變的方式,可以設定的方式有linear(線性的漸變,從左到右)、sweep(掃瞄式的漸變,從0角度順時針到360度)、radial(發散式漸變,從中心點往外發散,設定了該方式,則必須設定gradientradius屬性,否則會出現錯誤,設定的值的大小應該在0.522左右,我自己試出來的,具體我也不是清楚,要不然感覺沒效果)

android

:startcolor=

"#ff0000"

android

:centercolor=

"#00ff00"

android

:endcolor=

"#0000ff"

android

:type=

"radial"

android

:gradientradius=

"0.522dp"

/>

四、使用shape畫環

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節點,設定環的填充顏色。

android

:color=

"#ff0000"

/>

5、

在shape中使用gradient節點,可以設定圓的漸變顏色,該節點與solid節點衝突,設定了該節點,solid節點將沒有作用。在gradient節點中,有個type屬性,該屬性用來設定漸變的方式,可以設定的方式有linear(線性的漸變,從左到右)、sweep(掃瞄式的漸變,從0角度順時針到360度)、radial(發散式漸變,從中心點往外發散,設定了該方式,則必須設定gradientradius屬性,否則會出現錯誤,設定的值的大小應該在0.522左右,我自己試出來的,具體我也不是清楚,要不然感覺沒效果)

android

:startcolor=

"#ff0000"

android

:centercolor=

"#00ff00"

android

:endcolor=

"#0000ff"

android

:type=

"sweep"

/>

五、使用shape畫不同角的矩形。

1、設定shape屬性為rectangle。

android

:shape=

"rectangle"

2、使用corners節點,設定矩形四個角的圓角半徑,使用radius屬性可以直接設定四個角的圓角半徑,

android

:radius=

"20dp"

使用bottomleftradius設定左下角圓角半徑

android

:bottomleftradius=

"20dp"

使用bottomrightradius設定右下角圓角半徑

android

:bottomrightradius=

"20dp"

使用topleftradius設定左上角圓角半徑

android

:topleftradius=

"20dp"

使用toprightradius設定右上角圓角半徑

android

:toprightradius=

"20dp"

以上五個屬性,設定的值越大,矩形顯示的更圓。

3、使用size節點設定畫矩形的大小

android

:height=

"100dp"

android

:width=

"100dp"

/>

4、使用stroke節點,設定畫矩形邊線的寬度和畫矩形邊線的顏色,畫矩形邊線是實線還是虛線,如果是虛線,每個節虛線的長度,和間隔的長度是多少。

android

:width=

"1dp"

android

:color=

"#00ff00"

android

:dashwidth=

"2dp"

android

:dashgap=

"2dp"

/>

5、使用solid節點,設定矩形填充顏色。

android

:color=

"#ff0000"

/>

6、使用gradient節點,設定填充顏色的漸變效果。

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 ...