package com.test.testbutton;
import android.app.activity;
import android.content.context;
import android.graphics.drawable.drawable;
import android.graphics.drawable.statelistdrawable;
import android.os.bundle;
import android.view.view;
import android.widget.button;
public class testbutton extends activity {
@override
public void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
setcontentview(r.layout.main);
integer[] mbuttonstate = { r.drawable.defaultbutton,
r.drawable.focusedpressed, r.drawable.pressed };
button mbutton = (button) findviewbyid(r.id.button);
mybutton mybutton = new mybutton(this);
mbutton.setbackgrounddrawable(mybutton.setbg(mbuttonstate));
}
class mybutton extends view {
public mybutton(context context) {
super(context);
}
//以下这个方法也可以把你的图片数组传过来,以statelistdrawable来设置图片状态,来表现button的各中状态。未选中,按下,选中效果。
public statelistdrawable setbg(integer[] mimageids) {
statelistdrawable bg = new statelistdrawable();
drawable normal = this.getresources().getdrawable(mimageids[0]);
drawable selected = this.getresources().getdrawable(mimageids[1]);
drawable pressed = this.getresources().getdrawable(mimageids[2]);
bg.addstate(view.pressed_enabled_state_set, pressed);
bg.addstate(view.enabled_focused_state_set, selected);
bg.addstate(view.enabled_state_set, normal);
bg.addstate(view.focused_state_set, selected);
bg.addstate(view.empty_state_set, normal);
return bg;
}