Как установить цвет фона повышенной кнопки в зависимости от статуса?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как установить цвет фона повышенной кнопки в зависимости от статуса?

Сообщение Anonymous »

Я работаю над созданием викторины с Flutter. Я новичок в флаттере. Здесь создаются четыре кнопки для вопроса. Он запускает метод checkAnswer при нажатии кнопки ответа, и после этого я хочу изменить цвет фона для кнопок. Когда я удаляю onPressed: result == null из кнопки onPressed, он меняет фоновый цвет кнопок. Но пользователь может снова нажать кнопку после одного щелчка. Поэтому, когда я добавил onPressed: result == null, чтобы предотвратить это, фоновый цвет кнопок больше не обновляется. Я не понимаю, в чем здесь проблема. Это выглядит глупой проблемой.
...(currentQuestion["options"] as List)
.map((option) =>
Padding(
padding: const EdgeInsets.only(bottom: 10.0),
// Alttan boşluk
child: ElevatedButton(
onPressed: result == null
? () {
setState(() {
selectedOption = option;
});
checkAnswer(option);
}
: null,
style: ElevatedButton.styleFrom(
backgroundColor: result ==
AppLocalizations.of(context)
?.truth_answer &&
selectedOption == option
? Colors.red
: result ==
AppLocalizations.of(context)
?.wrong_answer &&
selectedOption == option
? Colors.blue
: result ==
AppLocalizations.of(context)
?.wrong_answer &&
currentQuestion["answer"]
as String ==
option
? Colors.red
: Colors.blue),
child: Text(
option,
style: const TextStyle(color: Colors.black87),
),
))),

void checkAnswer(String answer) {
if (timer != null) {
timer!.cancel();
}

setState(() {
if (answer == questions[currentQuestionIndex]["answer"] as String) {
result = AppLocalizations.of(context)?.truth_answer;
} else {
result = AppLocalizations.of(context)?.wrong_answer;
}

print("Seçilen seçenek: $selectedOption");
print("Doğru cevap: ${questions[currentQuestionIndex]["answer"]}");
print("Sonuç: $result");
});
}


Подробнее здесь: https://stackoverflow.com/questions/792 ... -to-status
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»