Android之shape的使用

2021-08-07 13:57:34 字數 4124 閱讀 1576

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:設定虛線的寬度。

注:dashwidthdashgap屬性只要其中乙個設定為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:uselevelboolean值,一般設定為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...