Если заявление, что проверяет что-то цвет фона? - PullRequest
0 голосов
/ 23 мая 2018

У меня есть небольшое приложение, которое рандомизирует цвет фона (красный, зеленый или синий) и устанавливает их для 9 фонов.

Приложение также рандомизирует цвет, по которому пользователь должен щелкнуть, чтобы получить точку.У меня вопрос, есть ли способ в Java в AndroidStudio, который я могу сделать оператором if, который каким-то образом принимает значение цвета фона объекта?

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

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

Если есть заданное количество цветов фона, я бы просто сравнил идентификаторы ресурсов, так как это довольно удобно:

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

Но, в качестве альтернативы, вы можете игнорировать сравнение цветови просто создайте структуру данных для хранения текущих значений игры (состояния), назначьте идентификаторы этим значениям цвета и сравните упомянутые идентификаторы.

0 голосов
/ 23 мая 2018

Вы можете попробовать следующий способ получить цвет фона представления и проверить, соответствует ли он выбранному пользователем цвету

ColorDrawable viewColor = (ColorDrawable) view.getBackground();
int colorId = viewColor.getColor();
if(someColorId == colorId) {
   //....
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...