这可以改变按钮的颜色:
myButton.setBackgroundResource(R.drawable.button_grey);
这不
int myColor = R.drawable.button_grey;
myButton.setBackgroundResource(myColor);
不给按钮任何颜色。为什么,以及如何解决?
可能是一个新手错误,但似乎您需要将要分配资源的变量声明为static
变量,即,static int
如果您想将其用作类的属性(请参阅下面的注释)。
myButton.setBackgroundColor(Color.parseColor("red"));
// or
myButton.setBackgroundColor(Color.RED);
// or
myButton.setBackgroundColor(Color.rgb(int,int,int);
使用此行:
Drawable d = getResources().getDrawable(R.drawable.button_grey);
myButton.setBackgroundDrawable(d);
希望对你有帮助 :)
试试这个方法会奏效
counter = 1;
//By Default set color
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (counter == 1)
{
// Default color
counter = 2;
}
else
{
//your color
counter = 1;
}
}
});
int myColor = R.drawable.button_grey;
myButton.setBackgroundResource(getResources().getdrawable(mycolor));