ImageButton 为ImageView的子类,因此可以显示一个图形,同时它具有Button的功能,能够被按下并响应用户点击事件。ImageButton缺省显示和Button同样风格。可以在Layout文件中通过android:src 或是在代码中使用setImageResource(int) 为Button指定图像。
ImageButton可以为ImageButton重新设置背景图像。并可以为Button的不同状态(获取焦点,失去焦点,按下)指定不同的图像,比如,绿色的图像作为缺省显示,按下时显示黄色图像,获取焦点时显示橙色。一个简单的方法是使用”selector” drawable 资源,比如:
<?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系统自带的图像资源为三个按钮指定图像:
<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” />