可以在XML布局文件中设置android:background值为一个Drawable资源。
在button按下的时候改变背景图片:
aButton.setOnTouchListener(new OnTouchListener(){
public boolean onTouch(View arg0,MotionEvent arg1){
if(arg1.getAction()==MotionEvent.ACTION_DOWN){
//更改触摸按下的背景图片
arg0.setBackgroundResource(R.drawable.pressed);
}else if(arg1.getAction()==MotionEvent.ACTION_UP){
arg0.setBackgroundResource(R.drawable.released);
}
return false;
}
});
另一种方法:
在drawable资源目录下定义selector 的XML文件,根据状态的不同设置不同的图片,如:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_focused="true"
android:state_pressed="false"
android:drawable="@drawable/focused"/>
<item
android:state_focused="true"
android:state_pressed="true"
android:drawable="@drawable/focusedpressed"/>
<item
android:state_focused="false"
android:state_pressed="false"
android:drawable="@drawable/pressed"/>
<item
android:drawable="@drawable/defaultbutton"/>
</selector>