Button是最長常見的控制項之一,屬性特徵沒什麼好說的,就來自訂button的樣式,實現我們看見的各種絢麗的button效果。
要自訂樣式,無外乎2種方式:
一是:常見的使用點9圖(.9),這個熟悉android應用開發的都不陌生,經常用到
二是:向量圖,自己通過share等畫出來,這個效率比較低,對於button樣式改變,使用的不是很多。
先來介紹使用點9圖吧,點9圖工具在android sdk包中就有,自己可以嘗試使用下。
繪製在L的地區:用於展開的縱向地區。
繪製在T的地區:用於展開的橫向地區。
繪製在R的地區:用於顯示前景的縱向範圍。
繪製在B的地區:用於顯示前景的橫向範圍。
紅色框地區:表示縱向展開的地區,也就是說,當圖片需要縱向展開的時候它會只指定展開紅色地區,其他地區在縱向是不會展開的。
綠色框地區:表示橫向展開的地區,也就是說,當圖片需要橫向展開的時候它會只指定展開綠色地區,其他地區在橫向是不會展開的。
顯然紅色和綠色相交的部分是既會進行橫向展開也會進行縱向展開的。
藍色地區:表示前景能顯示的縱向範圍。即前景的最上面可以顯示到什麼地方,最下面可以顯示的什麼地方。
黃色地區:表示前景能顯示的橫向範圍。即前景的最左邊可以顯示到什麼地方,最右邊可以顯示的什麼地方。
藍色和黃色相交部分:表示整個前景能顯示的地區。一個地區是矩形的,藍色規定了上下邊界,黃色規定了左右邊界,兩者共同當然也就規定了一個矩形地區。
好了,進入正題,
(a) 使用draw9patch.bat作完圖片後,得到兩張按鈕背景,分別是正常和按下狀態下的,命名為bg_btn_nomal.9.png和bg_btn_selected.9.png。
(b) 編寫圖片使用x選取器bg_button_select.xml。
(c) 在介面定義檔案 layout/main.xml中添加Button按鈕控制項的定義。Button都是可以使用背景屬性的
使用向量步驟都差不多
第一步 使用xml定義一個圓角矩形,外圍輪廓線實線、內填滿漸層色
第二步寫一個選取器
bg_button_select.xml
第三部,button中引用
android:background="@drawable/bg_button_select"
就這樣簡單 ,都去試試吧