我试图做一个小游戏。

在那里,背景颜色从蓝色随机更改为绿色,然后又变为蓝色。如果用户单击蓝色的“按钮”,则他会输。

我的问题是如何获得背景色?并与R.color.colorGreen进行比较

我从这里尝试过一些示例,但是没有用。

if(Integer.parseInt(button.getBackground().toString()) == R.color.colorBlue)

最佳答案

您应该看到this SO post


如果您使用的是Android 3.0+,则可以获取颜色值

ColorDrawable buttonColor = (ColorDrawable) button.getBackground();
int color = buttonColor.getColor();



因此,您修改后的if语句应为

ColorDrawable buttonColor = (ColorDrawable) button.getBackground();
int color = buttonColor.getColor();
if (color == getResources().getColor(R.color.colorBlue)) {
    // if statement body
}

10-05 18:21