ImageButton在Android 的运用非常灵活,既可以在.java中实现,也可以在.xml中实现,但相比较而言在.xml中实现更有利于代码的改动,现分别讲述以上两种实现方式:
1. 一种是在代码里自己的图片
m_ImageButton.setImageDrawable(getResources().getDrawable(R.drawable.my_button));
系统自带的图片
m_ImageButton.setImageDrawable(getResources().getDrawable(Android.R.drawable.sym_call_incomin
2. 一种是在XML文件里自己的图片
Android:src="../../@drawable/ic_media_play"
系统自带的图片
Android:src="@android:drawable/sym_call_incoming"
3. 指定按钮的背景图,有state_pressed和state_focused,分别代表按下去和焦点停留(用方向键等控制)时的状态
默认都是false。下面可以实现按下去时的背景图。
在main.xml里添加,
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#ffffff"> <ImageButton android:id="@+id/btn_sysbar_custom1" android:src="@drawable/sysbar_custom1" android:layout_centerVertical="true" android:background="@drawable/button_add_x" android:layout_width="60px" android:layout_height="120px" android:layout_gravity="center_vertical" /> </LinearLayout>
在res/drawable下添加一个button_add_x。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/sysbar_custom1_pressed" /> <item android:state_selected="true" android:drawable="@drawable/sysbar_custom1_default" /> <item android:drawable="@drawable/sysbar_custom1_default" /> </selector>