Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 初級開發 >> 為drawable定義xml 根據狀態改變圖片顯示效果

為drawable定義xml 根據狀態改變圖片顯示效果

編輯:初級開發

為drawable定義XML,以根據狀態改變顯示的圖片資源

 在Button上觸摸按下的時候,Button有3種狀態:focused、pressed和default,可以使用不同的圖片來顯示這三種狀態。  首先,在drawable中定義一個XML文件  然後,在layout的XML文件中使用此文件即可  簡單示例:
 1. 先定義一個名為btnselector.XML文件,代碼如下:

 <?XML version="1.0" encoding="UTF-8"?>
 <selector XMLns:android="http://schemas.android.com/apk/res/android">
  <item
    android:state_focused="true"
    android:state_pressed="false"
    android:drawable="@drawable/focused"
  ></item>
  <item
    android:state_focused="true"
    android:state_pressed="true"
    android:drawable="@drawable/focusedpressed"
  ></item>
  <item
    android:state_focused="false"
    android:state_pressed="true"
    android:drawable="@drawable/pressed"
  ></item>
  <item
    android:drawable="@drawable/default"
  ></item>  
 </selector>

 2. ImageButton使用btnselector.XML如下:
  <ImageButton
    android:id="@+id/stop"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/btnselector"
    android:background="#00000000"
  ></ImageButton> 注意:android:src(android:background)賦值為"@drawable/btnselector",而不是指向具體的圖片資源。

另:簡單示例——一個查詢按鈕的狀態改變

res/drawable/search_button.XML:

<?XML version="1.0" encoding="utf-8"?>
<selector XMLns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:state_pressed="false"
          android:drawable="@drawable/search_normal" />
    <item android:state_focused="true" android:state_pressed="true"
          android:drawable="@drawable/search_click" />
    <item android:state_focused="false" android:state_pressed="true"
          android:drawable="@drawable/search_click" />
    <item android:state_enabled="false" android:drawable="@drawable/search_disable" />
    <item android:drawable="@drawable/search_normal" />
</selector>

res/layout/main.XML:

<ImageButton
  android:id="@+id/ok"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_alignTop="@id/entry"
  android:layout_toRightOf="@id/history_search"
  android:layout_gravity="center"
  android:layout_marginTop="2px"
  android:background="@drawable/search_button"/>

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved