Android ApiDemos示例解析(123):Views->ImageButton

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
 

 

發佈留言