从java代码更改xml选择器值

Tal*_*ihr 6 android

我正在尝试为多个按钮创建通用图像选择器.有没有从java代码更改xml的"android:drawable"资源的选项?

ρяσ*_*я K 25

使用StateListDrawable按代码选择seeting选择器:

StateListDrawable states = new StateListDrawable();
states.addState(new int[] {android.R.attr.state_pressed},
    getResources().getDrawable(R.drawable.pressed));
states.addState(new int[] {android.R.attr.state_focused},
    getResources().getDrawable(R.drawable.focused));
states.addState(new int[] { },
    getResources().getDrawable(R.drawable.normal));

imageView.setImageDrawable(states);  //YOUR IMAGE HERE
//AND FOR BUTTON
 button.setBackgroundDrawable(states);//FOR BUTTON
Run Code Online (Sandbox Code Playgroud)