Android 比较背景颜色与颜色

Android Compare Background Color with Color

我正在尝试做一个小游戏。

背景颜色随机从蓝色变为绿色再变回蓝色。如果用户点击蓝色 "Button" 那么他就输了。

我的问题是如何获得背景颜色?并将其与 R.color.colorGreen

进行比较

我尝试了这里的一些示例,但没有任何效果。

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

你应该看到 this SO post.

If you're on Android 3.0+ you can get the color value

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
}