Android使用selector自定義按鈕
以前定義按鈕的時候,想使用自定義的Button總是習慣在activity中獲取該按鈕然後,重寫該按鈕的onTouchListener然後在當中切換按鈕的背景圖片。這樣做不但使activity中的代碼變得臃腫而且不能該按鈕不能達到重用的目的。
後來接觸到了Android 中的selector挺好用的,下面詳細講解一下如何使用selector,首先在res\drawable文件夾下創建一個xml文件如圖:
再在drawable文件中添加你想應用在按鈕上的圖片,包括按下的圖片和不按時的圖片。
然後在該文件中添加:drawable
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<!--當按鈕獲得焦點時定義顯示的圖片-->
<item
android:state_focused = "true"
android:drawable = "@drawable/image_btn_down"/>
<!--當按鈕被選中時定義現實的圖片 -->
<item
android:state_selected = "true"
android:drawable = "@drawable/image_btn_down"/>
<!--當按鈕被點擊時定義顯示的圖片-->
<item
android:state_pressed = "true"
android:drawable = "@drawable/image_btn_down"/>
<!--默認按鈕沒有被選中時顯示的圖片-->
<item android:drawable = "@drawable/image_btn_up" />
</selector>
該文件名字叫做button_selector.xml,完成之後,把你想應用的按鈕的drawable屬性改爲@drawable/button_selector就可以了 如下:
<Button
android:id="@+id/button_add"
android:layout_width="115dp"
android:layout_height="wrap_content"
android:layout_margin="5px"
android:layout_weight="1"
android:background="@drawable/button_selector"
android:text="自定義按鈕" />