1.在layout下新建一个selector样式的xml
<selector xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"> <item android:drawable="@drawable/toggle_btn_checked" /> <item android:drawable="@drawable/toggle_btn_unchecked" /> </selector>
<ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imb" android:layout_below="@+id/radioGroup" android:layout_centerHorizontal="true" android:layout_marginTop="100dp" android:background="@layout/image_btn_press"/>
3,在MainActivity里面写
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.content_main); imb = (ImageButton) findViewById(R.id.imb); imb.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (i) { ((ImageButton) v).setImageDrawable(getResources().getDrawable(R.drawable.toggle_btn_unchecked)); i = false; } else { ((ImageButton) v).setImageDrawable(getResources().getDrawable(R.drawable.toggle_btn_checked)); i = true; } } }); }
或者
(不需要用selector)
1. res / layout / activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.mybackgroundmusic.MainActivity" >
<ImageButton
android:id="@+id/btnC"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:layout_marginLeft="33dp"
android:layout_marginTop="112dp"
/>
</RelativeLayout>
2. MainActivity.class
public class MainActivity extends Activity {
private ImageButton btnC;
private MediaPlayer mp; //背景音乐
boolean is=true;//设置一个ImageButton标志位
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mp=MediaPlayer.create(MainActivity.this, R.raw.jiandanai);
btnC=(ImageButton) findViewById(R.id.btnC);
btnC.setBackgroundResource(R.drawable.deng);//更改按键状态图标
btnC.setOnClickListener(new ImageButton.OnClickListener(){
@Override
public void onClick(View arg0) {
if(is)
{
btnC.setBackgroundResource(R.drawable.dengliang); //更改按键状态图标
mp.start();
is=false;
}else{
btnC.setBackgroundResource(R.drawable.deng);
//更改按键状态图标
mp.pause();
is=true;
}
}
});
}
}