在Android程序開發(fā)中阻肿,我們經(jīng)常會去用到Shape這個東西去定義各種各樣的形狀,shape可以繪制矩形環(huán)形以及橢圓沮尿,所以只需要用橢圓即可丛塌,在使用的時候?qū)⒖丶热鏸mageview或textview的高寬設(shè)置成一樣就是正圓,solid表示遠(yuǎn)的填充色畜疾,stroke則代表遠(yuǎn)的邊框線赴邻,所以兩者結(jié)合可以實現(xiàn)帶邊緣的圓,當(dāng)然也可以直接加上size控制高寬啡捶。那么我首先帶你們了解一下Shape下有哪些標(biāo)簽姥敛,并且都代表什么意思:
shape屬性:
rectangle:矩形
oval:橢圓
line:線,需要 stroke 來設(shè)置寬度
ring:環(huán)形
solid屬性:
color:填充顏色
stroke屬性:
color:邊框顏色
width:邊框?qū)挾?/p>
dashWidth:虛線框的寬度
dashGap:虛線框的間隔
corners屬性:
radius:四個角的半徑
topRightRadius:右上角的半徑
bottomLeftRadius:右下角的半徑
opLeftRadius:左上角的半徑
bottomRightRadius:左下角的半徑
gradient屬性:
startColor:其實顏色
centerColor:中間顏色
endColor:結(jié)束顏色
centerX:中間顏色的相對X坐標(biāo)(0 -- 1)
centerY:中間顏色的相對Y坐標(biāo)(0 -- 1)
useLevel:(true/false)瞎暑, 是否用作LevelListDrawable的標(biāo)志
angle是漸變角度徒溪,必須為45的整數(shù)倍。0從左到右金顿,90從下到上臊泌,180從右到左,270從上到下
type:漸變模式揍拆。 默認(rèn)線性漸變渠概,可以指定漸變?yōu)閞adial(徑向漸變)或者sweep(類似雷達(dá)掃描的形式)
gradientRadius:漸變半徑,徑向漸變需指定半徑。
padding屬性:
left:左內(nèi)邊距
top:上內(nèi)邊距
right:右內(nèi)邊距
bottom:下內(nèi)邊距
size屬性:
width:寬
height:高
現(xiàn)在接下來我們通過一個例子播揪,畫了五個不一樣的形狀贮喧,來詳細(xì)了解有關(guān)Shape的用法。例子如下:
1猪狈、畫橢圓虛線邊框背景箱沦,資源文件代碼如下:
android:bottomLeftRadius="8dp"
android:bottomRightRadius="8dp"
android:radius="15dp"
android:topLeftRadius="8dp"
android:topRightRadius="8dp" />
android:dashGap="4dp"
android:dashWidth="4dp"
android:width="2dp"
android:color="@color/ellipse_dashed_line_color" />
2、畫實線透明邊框背景雇庙,資源文件代碼如下:
android:bottomLeftRadius="6dp"
android:bottomRightRadius="6dp"
android:radius="10dp"
android:topLeftRadius="6dp"
android:topRightRadius="6dp" />
android:width="1dp"
android:color="@color/ellipse_dashed_line_color" />
3谓形、畫實線填充顏色邊框背景,資源文件代碼如下:
android:bottomLeftRadius="6dp"
android:bottomRightRadius="6dp"
android:radius="10dp"
android:topLeftRadius="6dp"
android:topRightRadius="6dp" />
android:width="1dp"
android:color="@color/ellipse_dashed_line_color" />
4疆前、畫實線透明半邊橢圓邊框寒跳,資源文件代碼如下:
android:width="1.2dp"
android:color="#669df3" />
android:bottomRightRadius="10dp"
android:topRightRadius="10dp" />
android:bottom="8dp"
android:left="12dp"
android:right="12dp"
android:top="8dp" />
5、畫實線填充顏色半邊橢圓邊框竹椒,資源文件代碼如下:
android:bottomLeftRadius="10dp"
android:topLeftRadius="10dp" />
android:bottom="8dp"
android:left="12dp"
android:right="12dp"
android:top="8dp" />
效果圖如下:
如果想要源碼童太,請大家多多支持,分享到朋友圈胸完,發(fā)送分享到朋友圈后的截屏和郵箱到此公眾號书释,小編會爭取第一時間把源碼發(fā)送給您。
公眾號“非著名程序員”赊窥,每天一篇原創(chuàng)技術(shù)分享和移動互聯(lián)網(wǎng)知識分享征冷,微信公眾號:smart_android ,歡迎大家關(guān)注誓琼。