Android将背景色与颜色进行比较

时间:2019-06-28 16:16:21

标签: java android android-studio android-drawable android-color

我正在尝试做些小游戏。

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

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

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

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

1 个答案:

答案 0 :(得分:1)

您应该看到this SO post

  

如果您使用的是Android 3.0+,则可以获取颜色 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
}