繁体   English   中英

Flutter 线性百分比指示器中的进度颜色

[英]Flutter progresscolor in linearpercentindicator

我想显示结果(如下);

void initState() {
    if (finalD < 10) {
      message = "Normal :  $finalD";
      //progress = Colors.green as double;
    } else if (finalD < 14) {
      message = "Mild : $finalD";
    } else if (finalD < 21) {
      message = "Moderate : $finalD";
    } else if (finalD < 28) {
      message = "Severe : $finalD";
    } else {
      message = "Extremely Severe : $finalD";
      //progress = Colors.red as double;
    }
  }

通过显示线性百分比指示器;

LinearPercentIndicator(
                  width: MediaQuery.of(context).size.width - 50,
                  animation: true,
                  lineHeight: 25.0,
                  animationDuration: 2500,
                  percent: percentage,
                  center: Text(message),
                  linearStrokeCap: LinearStrokeCap.roundAll,
                  progressColor: Colors.yellow,
                ),

如何使progressColor更改取决于 if-else 条件?

创建一个颜色变量Color progressColor = Colors.yellow然后像这样相应地更新它

void initState() {
    if (finalD < 10) {
      message = "Normal :  $finalD";
      //progress = Colors.green as double;
      progressColor = Colors.green;
    } else if (finalD < 14) {
      message = "Mild : $finalD";
      progressColor = Colors.red;
    } else if (finalD < 21) {
      message = "Moderate : $finalD";
      progressColor = Colors.pink;
    } else if (finalD < 28) {
      message = "Severe : $finalD";
      progressColor = Colors.purple;
    } else {
      message = "Extremely Severe : $finalD";
      //progress = Colors.red as double;
      progressColor = Colors.red;
    }
    setState(() {});
  }

然后将颜色添加到您的小部件

LinearPercentIndicator(
                  width: MediaQuery.of(context).size.width - 50,
                  animation: true,
                  lineHeight: 25.0,
                  animationDuration: 2500,
                  percent: percentage,
                  center: Text(message),
                  linearStrokeCap: LinearStrokeCap.roundAll,
                  progressColor: progressColor,
                ),

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM