前言
大家都知道Android的Button預設樣式很難看,但又沒提供修改樣式的UI介面,所以如果要修改樣式必須寫一個XML來改寫,如果只是單純要改變外觀只需要用shape,而要隨著按壓時有不同效果就必須搭配selector。
1.建立樣式模板XNL
新增一個空白XML檔案放在Drawable目錄底下,如果沒有Drawable則手動新增,不要放在其它目錄底下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 按壓時 --> <item android:state_pressed="true"> <!--rectangle 長方形 可以畫出直角形,圓角形,弧形等--> <shape android:shape="rectangle"> <!--設定圓角,當設置的圓角半徑很大,就可變成弧形邊了--> <corners android:radius="15dip" /> <!--邊框--> <stroke android:width="1dip" android:color="#538394" /> <!--漸層顏色--> <gradient android:angle="-90" android:startColor="#0099CC" android:endColor="#017DAB" /> </shape> </item> <!-- 預設時 --> <item android:color="@android:color/black"> <shape android:shape="rectangle" > <corners android:radius="15dip" /> <stroke android:width="1dip" android:color="#071E54" /> <gradient android:angle="-90" android:startColor="#0E2252" android:endColor="#1D2C50" /> </shape> </item> </selector> |
2.套用樣式
1 2 3 4 5 |
<Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/button_rounde" /> <!--套用XML--> |
第一圖為預設樣式,第二張為按壓後樣式
想問一下新增的XML檔案 要用layout,value,app action哪一個新增
新增Drawable resource file -> Country Code
想請問如果是要改Action bar的形狀該怎麼套用呢?因為預設的Action bar沒有寫在layout裡
感謝