在android
開發中,使用shape
標籤可以很方便的幫助我們自定義繪製簡單的形狀,一般可用於繪製控制項的背景,如按鈕或文字框背景,也經常用於設定布局的背景,其用法不難但是功能作用卻很強大。相對於png
來說,使用shape
可以減少安裝包的大小,而且能夠更好的適配不同的手機。
<?xml version="1.0" encoding="utf-8"?>
xmlns:android=""
android:innerradius="15dp"
android:innerradiusratio="2"
android:shape="ring"
android:thickness="10dp"
android:thicknessratio="2"
android:uselevel="false">
android:color="@color/red" />
android:bottomleftradius="5dp"
android:bottomrightradius="5dp"
android:radius="10dp"
android:topleftradius="5dp"
android:toprightradius="5dp" />
android:angle="45"
android:centercolor="@color/red"
android:centerx="0"
android:centery="0"
android:endcolor="@color/black"
android:gradientradius="90"
android:startcolor="@color/blue"
android:type="radial"
android:uselevel="false" />
android:bottom="5dp"
android:left="5dp"
android:right="5dp"
android:top="5dp" />
android:width="75dp"
android:height="45dp" />
android:width="1dp"
android:color="@color/blue"
android:dashgap="2dp"
android:dashwidth="0dp" />
shape>
solid:填充
1.android:color
:填充的顏色。
corners:圓角
1.android:radius
:設定四個角的圓角半徑。
2.android:bottomleftradius
:設定左下角的圓角半徑。
3.android:bottomrightradius
:設定右下角的圓角半徑 。
4.android:topleftradius
:設定左上角的圓角半徑 。
5.android:toprightradius
:設定右上角的圓角半徑 。
注:如果同時設定五個屬性,則radius
屬性無效。
gradient:漸變
1.android:startcolor
:起始漸變顏色。
2.android:centercolor
:中間漸變顏色。
3.android:endcolor
:結束漸變顏色。
4.android:centerx
:漸變中心x
的相對位置,放射漸變時才有效,範圍為0~1
,預設為0.5
,表示在正中間。
5.android:centery
:漸變中心y
的相對位置,放射漸變時才有效,範圍為0~1
,預設為0.5
,表示在正中間。
6.android:type
:漸變型別,有三種:radial
放射漸變;linear
線性漸變,預設為此漸變模式;sweep
掃瞄性漸變。
7.android:angle
:漸變角度,必須是45
的整數倍(包括0
),0
表示從左到右,90
表示從下到上。
8.android:gradientradius
:漸變的半徑,只有當漸變型別為radial
時才能使用。
9.android:uselevel
:設為false
時才有漸變效果,使用levellistdrawable
時要設定為true
。
padding:內間距
1.android:top
:距離頂部內間距。
2.android:bottom
:距離底部內間距。
3.android:left
:距離左邊內間距。
4.android:right
:距離右邊內間距。
size:大小
1.android:width
:寬度。
2.android:height
:高度。
stroke:描邊
1.android:width
:設定邊框的寬度 。
2.android:color
:設定邊框的顏色。
3.android:dashgap
:設定虛線的間隔寬度。
4.android:dashwidth
:設定虛線的寬度。
注:dashwidth
和dashgap
屬性只要其中乙個設定為0dp
,則邊框為實線邊框。
shape:形狀,預設為矩形
1.android:shape="ring"
:環形。
2.android:shape="line"
:線性形。
3.android:shape="oval"
:橢圓形。
4.android:shape="rectangle"
:矩形。
如果設定為android:shape="ring"
時還可以設定一下屬性:
1.android:innerradius
:尺寸,內環的半徑。
2.android:innerradiusratio
:浮點型,以環的寬度比率來表示內環的半徑,預設為3
,表示內環半徑為環的寬度除以3
,該值會被innerradius
覆蓋。
3.android:thickness
:尺寸,環的厚度。
4.android:thicknessratio
:浮點型,以環的寬度比率來表示環的厚度,預設為9
,表示環的厚度為環的寬度除以9
,該值會被thickness
覆蓋。
5.android:uselevel
:boolean
值,一般設定為false
,否則可能環形無法顯示,只有作為levellistdrawable
使用時才設為true
。
關於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之XML的shape使用
android中常常使用shape來定義控制項的一些顯示屬性,今天看了一些shape的使用,對shape有了大體的了解,稍作總結 先看下面的 solid 實心,就是填充的意思 android color指定填充的顏色 gradient 漸變 android startcolor和android en...