Изменение цвета нажатой кнопки в зависимости от условий

Рейтинг: 1Ответов: 1Опубликовано: 25.04.2015

Требуется менять цвет нажатой кнопки ToggleButton в зависимости от условий. Например, при нажатии в правильный момент цвет нажатой кнопки - зеленый, в неправильный - красный. Как такое можно осуществить?
Через селектор могу задать лишь один цвет.

Ответы

▲ 1Принят

Делаете два селектора . С красным и зеленым цветом . Далее в зависимости от условий применяете к кнопке бэкграунд нужного цвета .

if (условие) toggleButton.setBackground(@drawable/green_background);
else toggleButton.setBackground(@drawable/red_background);

Или то же самое, в профиль:

 toggleButton.setBackground((условие) ? @drawable/green_backgroung : @drawable/red_background);

Возможно вам больше подойдут почти аналогичные методы setBackgroundResource (int resid) или setBackgroundColor (int color) логика использования которых аналогично тому , что выше .