1 需求
開發(fā)android應用時,默認的按鈕樣式溃斋,往往不能滿足項目的主題界拦、配色的需要。因此要對其進行修改梗劫、美化享甸。暫時學習到的兩種方式是統(tǒng)一設置自定義背景、自定義樣式梳侨。
2 自定義背景
在項目drawable目錄下新建button_blue_background按鈕背景自定義資源文件:
文件代碼如下(可根據需要自行調整):
button_blue_background.xml :
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false">
<shape>
<solid android:color="#278BE0"></solid>
<corners android:radius="3dp"></corners>
<stroke android:width="0dp"></stroke>
</shape>
</item>
<item android:state_pressed="true">
<shape>
<solid android:color="#4DA0E8"></solid>
<corners android:radius="3dp"></corners>
<stroke android:width="0dp"></stroke>
</shape>
</item>
</selector>
在布局文件中引用該自定義背景:
<Button android:id="@+id/btn_cancel"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_weight="1"
android:text="取消"
android:background="@drawable/button_blue_background"/>
效果如下圖:
Button高度和字體顏色可根據需要再進行其他調整蛉威。
3 自定義樣式
通過自定義樣式,可以更方便走哺、更多的操作按鈕的樣式和布局蚯嫌。首先,打開res/drawable/values/styles.xml文件丙躏,在其中resources節(jié)點下添加button_blue_style結點择示。
代碼如下:
<style name="button_blue_style">
<item name="android:textColor">#FFFFFF</item>
<item name="android:background">@drawable/button_blue_background</item>
</style>
代碼中引用了上一節(jié)編寫的自定義背景文件@drawable/button_blue_background。在布局中引用方式如下:
<Button android:id="@+id/btn_cancel"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_weight="1"
android:text="取消"
style="@style/button_blue_style"/>
運行后晒旅,效果如下圖:
按鈕高度太高栅盲,是因為按鈕默認具有minWidth、minHeight屬性废恋,將其置為0谈秫,設置高度為30dp.
<style name="button_blue_style">
<item name="android:textColor">#FFFFFF</item>
<item name="android:background">@drawable/button_blue_background</item>
<item name="android:minWidth">0dp</item>
<item name="android:minHeight">0dp</item>
<item name="android:height">30dp</item>
</style>
最終效果如下圖所示: