在代码中动态设置selector

来源:互联网 发布:创意美工设计招聘 编辑:程序博客网 时间:2024/06/08 10:15
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;    }}      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));
原创粉丝点击