天天看點

Android根據Button狀态(normal,focused,pressed)顯示不同背景圖檔

 android中button 有focused, selected, pressed 等不同狀态,通過配置一個xml格式的 drawable "selector" 即可實作”在不同狀态下顯示不同背景圖檔“的功能。

1. 在res/drawable目錄下添加一個xml檔案,用來描述button在不同狀态下對應的不同圖檔。我這裡給該xml檔案命名為btn_background.xml

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_pressed="true"

           android:drawable="@drawable/btn_pressed"

/>

<!-- pressed -->

<item android:state_focused="true"

           android:drawable="@drawable/btn_normal"

<!-- focused -->

<item android:drawable="@drawable/btn_normal"

<!-- default -->

</selector>

2. 在res/layout目錄下,對應的layout xml檔案中,将button的android:background屬性設定為btn_background即可。

<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

>

<button  

    android:layout_width="wrap_content" 

    android:layout_height="wrap_content" 

    android:background="@drawable/btn_background"

</linearlayout>

3.運作結果

預設狀态(unselected)

點選狀态(pressed)

繼續閱讀