android 类似selector

来源:互联网 发布:windows 启动管理器 编辑:程序博客网 时间:2024/05/29 19:53

在自定义的view中

  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;
    }

添加以上代码

然后在获取到view的地方设置例如

 backView.setBackgroundDrawable(backView.setbg(mButtonState1));

这样 就可以设置选中 和没有选中两种状态 ,进行切换