android中常常需要用到一些邊框、背景之類的素材,而這些很多時候不是通過美工人員p圖得到的,而是通過shape標籤來實現的。今天就**一下shape到底怎麼用以及相關的一些特性。
本來想在網上找點簡單易懂的中文解釋,搜了半天沒看到,於是乎就上android官網上看了看,官網的解釋是:
an xml file that defines a geometric shape, including colors and gradients.
大概意思就是:一種定義形狀的xml檔案,包括顏色、漸變。其實還包括圓角、內間距、邊框等。總之是一種用於定義形狀資源的檔案。
舉乙個小例子先看看
<?xml version="1.0" encoding="utf-8"?>
xmlns:android=""
android:shape="rectangle" >
android:width="2dp"
android:color="#ffffff"
/>
android:radius="8dp"
/>
android:color="#00000000"
/>
shape>
作為背景用於textview
android:background="@drawable/recetegle_textview"
<?xml version="1.0" encoding="utf-8"?>
xmlns:android=""
android:shape="rectangle" >
shape>
這是shape檔案的基本格式。
根標籤是shape,其中屬性:android:shape="……"
是必要屬性,它規定shape的基本形狀。
它可選的值如下:
rectangle//矩形
oval //橢圓
line
//線ring //圓環
android:innerradius="dimension" //內環的半徑。
android:innerradiusratio="float" //這個值表示內部環的比例,例如,如果android:innerradiusratio = " 5 ",那麼內部的半徑等於環的寬度除以5。這個值會被android:innerradius重寫。 預設值是9。
android:thickness="dimension" //環的厚度.
android:thicknessratio="float" //厚度的比例。例如,如果android:thicknessratio= " 2 ",然後厚度等於環的寬度除以2。這個值是被android:innerradius重寫, 預設值是3。
android:uselevel="boolean" //如果用在 levellistdrawable裡,那麼就是true。如果通常不出現則為false。
自屬性是包含在shape內部的一些屬性,主要包括:
corners //圓角
gradient//漸變
padding //內邊距
size
//大小
solid //填充
stroke
//邊框
"dimension"
//圓角,比如8dp、5dp等等
android:topleftradius="dimension"
//左上圓角,比如8dp、5dp等等
android:toprightradius="dimension"
//右上圓角,比如8dp、5dp等等
android:bottomleftradius="dimension"
//左下圓角,比如8dp、5dp等等
android:bottomrightradius="dimension" />//左下圓角,比如8dp、5dp等等
"integer"
//漸變角度,預設為0,即從左向右,90為從下向上。值必須是45的倍數
android:centerx="float"
//漸變中心x,相對位置與整個shape的x的相對位置,取值範圍0.0~1.0
android:centery="float"
//同x
android:centercolor="color"
//介於end和start之間的顏色
android:endcolor="color"
//結束顏色
android:gradientradius="integer"
//漸變半徑,只有當type="radial"時生效
android:startcolor="color"
//開始顏色
android:type="linear"
//漸變模式,可選的值有:linear線型,radial放射型,sweep範圍型(這個真不知道怎麼翻譯)
android:uselevel="boolean" /> //使用級別,預設為false,當用於levellistdrawable時設為true。
"dimension"
//左 android:top="dimension"
//上 android:right="dimension"
//左
android:bottom="dimension" />//下
android:width="dimension"
//寬 android:height="dimension" /> //高
color="color" /> //填充顏色
android:width="dimension"
//邊框寬
android:color="color"
//邊框顏色
android:dashwidth="dimension"
//虛線寬度,只有當設定了dashgap時有效
android:dashgap="dimension" /> //虛線間距,只有當設定了dashwidth時有效
shapedrawable是乙個drawable的子類用與繪製原始的shape。這裡不再展開了。
需要詳細了解的同學看這裡
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 ...