Android 使用shape來優化介面效果

2021-09-21 09:51:32 字數 2727 閱讀 9117

前些天去參加了乙個公開課,說到了我們很多程式對美工比較不在行,所以需要與ui工程師合作,但是有時候ui工程師忙其他的什麼,我們既不會ps也不會ai。於是乎在android中我們可以通過shape來定製我們需要的圖形效果等。

下午研究了下shape,眾所周知shape是形狀的意思。網路上的例子太多看的真讓人眼花繚亂,自己總結了下,以如何使用shape來做圓角按鈕的背景來說明shape的具體使用吧。

看下效果圖

具體實現**:

xmlversion

="1.0"

encoding

="utf-8"

?>

<

shape

xmlns:android

="">

<

solid

android:color

="#b2b2b2"

/>

<

size

android:width

="200dp"

android:height

="50dp"

/>

<

gradient

android:startcolor

="#dbdcdd"

android:endcolor

="#b8b9bb"

android:centercolor

="#adadaf"

android:angle

="270"

/>

<

stroke

android:width

="2dp"

android:color

="#3d4148"

/>

<

corners

android:radius

="5dp"

/>

<

padding

android:left

="10dp"

android:top

="10dp"

android:right

="10dp"

android:bottom

="10dp"

/>

shape

>

1、  solid  

描述:內部填充 

屬性     android:color 填充顏色 

2、size  

描述:size: 大小 

屬性: 

android:width   表示形狀的寬度 

android:height 表示形狀的高度 

3、gradient 

描述: 漸變色 

屬性: 

android:startcolor  起始顏色 

android:endcolor    結束顏色 

android:angle       漸變角度(ps:當angle=0

時,漸變色是從左向右。 然後逆時針方向轉,當

angle=90

時為從下往上。angle必須為45的整數倍) 

android:type       漸變型別(取值:linear、radial、sweep) 

linear  線性漸變,這是預設設定 

radial  放射性漸變,以開始色為中心。 

sweep   掃瞄線式的漸變。 

android:centercolor  漸變中間顏色,即開始顏色與結束顏色之間的顏色 

android:uselevel   如果要使用levellistdrawable物件,就要設定為true。設定為true無漸變。false有漸變色 

android:gradientradius  漸變色半徑.當 android:type

="radial"

時才使用。單獨使用 

android:type

="radial"

會報錯。 

android:centerx    漸變中心x點座標的相對位置 

android:centery   漸變中心y點座標的相對位置 

4、stroke 

描述: stroke:描邊  相當於html中的盒子模型的border 

屬性: 

android:width 描邊的寬度 

android:color 描邊的顏色 

android:dashwidth 表示描邊的樣式是虛線的寬度, 

值為0時,表示為實線。值大於0則為虛線。 

android:dashgap  表示描邊為虛線時,虛線之間的間隔 即「 - - - - 」 

5、corners 

描述: corners: 圓角 

屬性: 

android:radius  半徑 

android:topleftradius  左上角半徑 

android:toprightradius  右上角半徑 

注意一下兩個屬性比較不同: 

android:bottomleftradius 右下角半徑 

android:bottomrightradius 左下角半徑 

6、padding 

描述:內部邊距,即內容與邊的距離 

屬性: 

android:left  左內邊距 

android:top   上內邊距 

android:right  右內邊距 

android:bottom 下內邊距 

-->

Android中shape的使用

本人在美工方面一直是比較白痴的,對於一些顏色什麼亂七八糟的非常頭痛,但是在android程式設計中這又是經常涉及到的東西,沒辦法,只有硬著頭皮上。android中常常使用shape來定義控制項的一些顯示屬性,今天看了一些shape的使用,對shape有了大體的了解,稍作總結 先看下面的 solid ...

Android中shape的使用

本人在美工方面一直是比較白痴的,對於一些顏色什麼亂七八糟的非常頭痛,但是在android程式設計中這又是經常涉及到的東西,沒辦法,只有硬著頭皮上。android中常常使用shape來定義控制項的一些顯示屬性,今天看了一些shape的使用,對shape有了大體的了解,稍作總結 先看下面的 solid ...

Android中shape的使用

原始出處 作者資訊和本宣告。否則將追究法律責任。本人在美工方面一直是比較白痴的,對於一些顏色什麼亂七八糟的非常頭痛,但是在android程式設計中這又是經常涉及到的東西,沒辦法,只有硬著頭皮上。android中常常使用shape來定義控制項的一些顯示屬性,今天看了一些shape的使用,對shape有...