Я работаю над созданием викторины с 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
Как установить цвет фона повышенной кнопки в зависимости от статуса? ⇐ Android
Форум для тех, кто программирует под Android
1734373603
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");
});
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79285716/how-to-set-backgroundcolor-of-elevated-button-according-to-status[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия