如果语句检查某物的背景颜色?



我有一个小应用程序,它可以随机化背景颜色(红色、绿色或蓝色(并将它们设置为 9 个背景。

该应用程序还会随机化用户必须单击才能获得点的颜色。 我的问题是,在AndroidStudio的Java中,有没有办法让我做一个if语句,以某种方式获取对象背景颜色的值?

if ( color_user_has_to_pick == background_color) {
point++
}
else {
nothing }

您可以尝试以下方法来获取视图的背景颜色,并检查该颜色是否与用户选择的颜色匹配

ColorDrawable viewColor = (ColorDrawable) view.getBackground();
int colorId = viewColor.getColor();
if(someColorId == colorId) {
//....
}

如果有一定数量的背景颜色,我只会比较资源 ID,因为它非常方便:

if (R.id.blue === ((ColorDrawable) view.getBackground()).getColor()) { // Your logic }

但是,作为替代方案,您可以忽略颜色比较,而只是创建一个数据结构来保存游戏的当前值(状态(,为这些颜色值分配标识符并比较所述标识符。

最新更新