一、效果
正常狀態
獲取焦點或按下
按鈕的背景圖片是.9圖,.9圖的制作過程,見下面博文
http://blog.csdn.net/zengmingen/article/details/50193245
二、步驟
模仿android自帶的按鈕控件編寫
1、找到android自帶按鈕的樣式。
D:\ADT\sdk\platforms\android-16\data\res\values\style.xml文件中找Button控件,
<item name="android:background">@android:drawable/btn_default</item>是背景選擇器,不是圖片。
代碼如下。
<style name="Widget.Button"><item name="android:background">@android:drawable/btn_default</item><item name="android:focusable">true</item><item name="android:clickable">true</item><item name="android:textAppearance">?android:attr/textAppearanceSmallInverse</item><item name="android:textColor">@android:color/primary_text_light</item><item name="android:gravity">center_vertical|center_horizontal</item></style>
2、查找Button的背景選擇器代碼。
找到D:\ADT\sdk\platforms\android-16\data\res\drawable\btn_default.xml
代碼如下:
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_window_focused="false" android:state_enabled="true"android:drawable="@drawable/btn_default_normal" /><item android:state_window_focused="false" android:state_enabled="false"android:drawable="@drawable/btn_default_normal_disable" /><item android:state_pressed="true" android:drawable="@drawable/btn_default_pressed" /><item android:state_focused="true" android:state_enabled="true"android:drawable="@drawable/btn_default_selected" /><item android:state_enabled="true"android:drawable="@drawable/btn_default_normal" /><item android:state_focused="true"android:drawable="@drawable/btn_default_normal_disable_focused" /><itemandroid:drawable="@drawable/btn_default_normal_disable" />
</selector>
3、模仿著寫。先寫樣式,再寫選擇器。
樣式NextStyle代碼如下:
<style name="NextStyle"><item name="android:layout_width">wrap_content</item><item name="android:layout_height">wrap_content</item><item name="android:layout_alignParentBottom">true</item><item name="android:layout_alignParentRight">true</item><item name="android:background">@drawable/btn_green_selector</item><item name="android:drawableRight">@drawable/next</item><item name="android:text">下一步</item><item name="android:onClick">next</item></style>
選擇器btn_green_selector.xml的代碼如下:一個選擇器一個xml文件
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><!-- 按下 --><item android:drawable="@drawable/btn_green_pressed" android:state_pressed="true"/><!-- 獲取焦點 --><item android:drawable="@drawable/btn_green_pressed" android:state_focused="true"/><!-- 默認,默認放在最后--><item android:drawable="@drawable/function_greenbutton_normal"/>
</selector>
4、布局文件中使用
代碼如下
<Button style="@style/NextStyle" />