ImageButton 為ImageView的子類,因此可以顯示一個圖形,同時它具有Button的功能,能夠被按下並響應用戶點擊事件。ImageButton缺省顯示和Button同樣風格。可以在Layout文件中通過android:src 或是在代碼中使用setImageResource(int) 為Button指定圖像。
ImageButton可以為ImageButton重新設置背景圖像。並可以為Button的不同狀態(獲取焦點,失去焦點,按下)指定不同的圖像,比如,綠色的圖像作為缺省顯示,按下時顯示黃色圖像,獲取焦點時顯示橙色。一個簡單的方法是使用”selector” drawable 資源,比如:
[html]
<?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/button_pressed” /> <!– pressed –>
<item android:state_focused=”true”
android:drawable=”@drawable/button_focused” /> <!– focused –>
<item android:drawable=”@drawable/button_normal” /> <!– default –>
</selector>
<?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/button_pressed” /> <!– pressed –>
<item android:state_focused=”true”
android:drawable=”@drawable/button_focused” /> <!– focused –>
<item android:drawable=”@drawable/button_normal” /> <!– default –>
</selector>將中個資源文件存放在/res/drawable 目錄下,然後通過android:src 為ImageButton 指定資源。 資源定義的順序非常重要。
本例使用Android系統自帶的圖像資源為三個按鈕指定圖像:
[html]
<ImageButton
android:layout_width=”100dip”
android:layout_height=”50dip”
android:src=”@android:drawable/sym_action_call” />
<ImageButton
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:src=”@android:drawable/sym_action_chat” />
<ImageButton
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:src=”@android:drawable/sym_action_email” />
<ImageButton
android:layout_width=”100dip”
android:layout_height=”50dip”
android:src=”@android:drawable/sym_action_call” />
<ImageButton
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:src=”@android:drawable/sym_action_chat” />
<ImageButton
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:src=”@android:drawable/sym_action_email” />
作者:mapdigit