我试图做一个小游戏。
在那里,背景颜色从蓝色随机更改为绿色,然后又变为蓝色。如果用户单击蓝色的“按钮”,则他会输。
我的问题是如何获得背景色?并与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
}