Android Shape控制元件美化實現程式碼

NO IMAGE
1 Star2 Stars3 Stars4 Stars5 Stars 給文章打分!
Loading...

如果你對Android系統自帶的UI控制元件感覺不夠滿意,可以嘗試下自定義控制元件,我們就以Button為例,很早以前Android123就寫到過Android Button按鈕控制元件美化方法裡面提到了xml的selector構造。當然除了使用drawable這樣的圖片外今天Android開發網談下自定義圖形shape的方法,對於Button控制元件Android上支援以下幾種屬性shape、gradient、stroke、corners等。

 我們就以目前系統的Button的selector為例說下:


<shape>
<gradient
android:startColor="#ff8c00"
android:endColor="#FFFFFF"
android:angle="270" />
<stroke
android:width="2dp"
android:color="#dcdcdc" />
<corners
android:radius="2dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>

  對於上面,這條shape的定義,分別為漸變,在gradient中startColor屬性為開始的顏色,endColor為漸變結束的顏色,下面的angle是角度。接下來是stroke可以理解為邊緣,corners為拐角這裡radius屬性為半徑,最後是相對位置屬性padding。

 對於一個Button完整的定義可以為


<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<gradient
android:startColor="#ff8c00"
android:endColor="#FFFFFF"
android:angle="270" />
<stroke
android:width="2dp"
android:color="#dcdcdc" />
<corners
android:radius="2dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item android:state_focused="true" >
<shape>
<gradient
android:startColor="#ffc2b7"
android:endColor="#ffc2b7"
android:angle="270" />
<stroke
android:width="2dp"
android:color="#dcdcdc" />
<corners
android:radius="2dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item> 
<shape>
<gradient
android:startColor="#ff9d77"
android:endColor="#ff9d77"
android:angle="270" />
<stroke
android:width="2dp"
android:color="#fad3cf" />
<corners
android:radius="2dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>

注意Android123提示大家,以上幾個item的區別主要是體現在state_pressed按下或state_focused獲得焦點時,噹噹來判斷顯示什麼型別,而沒有state_xxx屬性的item可以看作是常規狀態下。

以上就是對Android 控制元件美化Shape 資料的整理,有需要的同學參考下。

您可能感興趣的文章:

Android中Shape的用法詳解Android自定義View實現shape圖形繪製Android程式設計使用自定義shape實現shadow陰影效果的方法Android自定義shape的使用示例Android Selector和Shape的使用方法android 放大鏡ShapeDrawable妙用分享Android控制元件系列之Shape使用方法Android shape 繪製圖形的例項詳解

相關文章

Android 開發 最新文章