3

这可以改变按钮的颜色:

myButton.setBackgroundResource(R.drawable.button_grey);

这不

int myColor = R.drawable.button_grey;
myButton.setBackgroundResource(myColor);

不给按钮任何颜色。为什么,以及如何解决?

4

5 回答 5

0

可能是一个新手错误,但似乎您需要将要分配资源的变量声明为static变量,即,static int如果您想将其用作类的属性(请参阅下面的注释)。

于 2013-08-27T14:44:46.923 回答
0
myButton.setBackgroundColor(Color.parseColor("red"));
// or
myButton.setBackgroundColor(Color.RED);
// or
myButton.setBackgroundColor(Color.rgb(int,int,int);
于 2013-08-27T14:14:37.707 回答
0

使用此行:

Drawable d = getResources().getDrawable(R.drawable.button_grey);
myButton.setBackgroundDrawable(d);

希望对你有帮助 :)

于 2016-07-14T04:18:32.423 回答
0

试试这个方法会奏效

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;
                }
            }
        });
于 2016-07-14T04:04:35.330 回答
-1
int myColor = R.drawable.button_grey;
myButton.setBackgroundResource(getResources().getdrawable(mycolor));
于 2013-08-27T14:10:23.090 回答