1

为什么 CustomButton 结果是灰色的?在 R.color.blue 中,绿色和红色实际上是红色和蓝色和红色。我正在尝试从colors.xml中随机选择红色蓝色绿色中的按钮颜色。

public void CustomButton(int btnId) {
    Button btn = (Button) findViewById(btnId);

    int[] btnColor = { R.color.blue, R.color.green, R.color.red };
    Random random = new Random();
    int c = btnColor[random.nextInt(btnColor.length)];
    btn.setBackgroundColor(c);

}
4

2 回答 2

1

试试这个

你应该使用

getResources().getColor(yourcolorid)得到颜色

代码中的小改动

改变这个

 btn.setBackgroundColor(c);

对此

 btn.setBackgroundColor(getResources().getColor(c));
于 2013-04-08T17:15:28.683 回答
0

除非您使用自定义颜色,否则请尝试删除“r”:

public void CustomButton(int btnId) {
    Button btn = (Button) findViewById(btnId);

    int[] btnColor = {Color.BLUE, Color.GREEN, Color.RED};
    Random random = new Random();
    int c = btnColor[random.nextInt(btnColor.length)];
    btn.setBackgroundColor(c);

}

这将使用内置的 Android 类Color

于 2013-04-08T17:11:50.080 回答