6

我正在尝试为多个按钮创建一个通用图像选择器。是否可以从 java 代码中更改 xml 的“android:drawable”资源?

4

2 回答 2

25

使用StateListDrawable通过代码查看选择器:

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
于 2012-06-28T10:40:43.720 回答
3

您可以设置从 java 中绘制的按钮,例如

    btnSettings.setBackgroundResource(R.drawable.ic_launcher);
于 2012-06-28T10:39:05.637 回答