Flutter-如何根据if和else语句的值在点击时切换RaisedButton的颜色

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter-如何根据if和else语句的值在点击时切换RaisedButton的颜色相关的知识,希望对你有一定的参考价值。

我正在创建徽标测验,如果用户选择正确的答案,则按钮的颜色在按下时将变为绿色,否则将变为红色。我尝试使用问题Flutter - How do I toggle the color of a RaisedButton upon click?解决此问题,但并没有太大帮助,对于下一个问题(我所要查找的内容),颜色在印刷时将保持不变。请帮助。

var pressAttention = false;
Padding(
                    padding: const EdgeInsets.only(bottom: 10.0),
                    child: ButtonTheme(
                      minWidth: 300.0,
                      height: 50.0,
                      child: RaisedButton(
                        child: Text(
                          multiChoice[count][0],
                          style: TextStyle(
                            fontSize: 20,
                            fontWeight: FontWeight.bold,
                          ),
                        ),
                        color: Colors.white,
                        shape: RoundedRectangleBorder(
                          borderRadius: new BorderRadius.circular(30.0),
                          side: BorderSide(color: Colors.black),
                        ),
                        onPressed: () {
                          setState(() {
                            // checking if the user got the right answer
                            if (correctAnswer[count] == 0) {
                              correctAnswerCount++;
                              // do something to change the color of the button to green
                              // pressAttention = !pressAttention
                            }else{
                              // do something to change the color of the button to red
                            }
                          });
                          nextQuestion();
                        },
                        highlightColor: pressAttention ? Colors.green : Colors.red, //changing to green or red depending on the if and else statement,
                        hoverColor: pressAttention ? Colors.green : Colors.red, //changing to green or red depending on the if and else statement,
                      ),
                    ),
                  ),
答案

使用列表存储答案,并检查答案是否与用户答案匹配。如果已设置,则仅设置颜色。

当用户更改问题或回答问题时设置颜色。

以上是关于Flutter-如何根据if和else语句的值在点击时切换RaisedButton的颜色的主要内容,如果未能解决你的问题,请参考以下文章

5.8v-if等

如何通过布尔值在播放视图模板中呈现不同的 html 元素?

嵌套的 if else 语句无法通过目标单元格工作

Flutter 1-8Flutter教程Dart语言——控制语句

Flutter入门Dart语言:控制流语句的基本用法

根据其他列 PSQL 的值在 SELECT 语句中添加附加列