簡體   English   中英

有條件變色 Dart Flutter

[英]Conditional color change Dart Flutter

我想根據它的值改變變量的顏色。 如何為變量實現文本樣式,代碼如下:

@override
  initState() {
    _volume = 0;
    grade = '-';
  }

  void _calculation() {
    setState(
      () {
        _volume = ((double.parse(lenCon.text)) /
            (double.parse(widCon.text) * double.parse(widCon.text)));
      },
    );      
if (_volume >= 35) {
          grade = 'High';
        } else if (_volume <= 34.9 && _volume >= 30)
          grade = 'Low';

我想獲得紅色的“高”和藍色的“低”,我該怎么做? 為什么我不能使用 style: 例如在 if 語句中;

grade = 'High', style: new TextStyle(fontSize: 18.0, color: Colors.white)

您可以創建一個顏色變量並使用默認顏色對其進行初始化。 然后,如果您調用_calculation()您可以在設置grade后調用setState並根據grade設置顏色

Color colors;
setState(() {
   if(grade == 'High'){
     color = Colors.red;
   } else if(grade == 'Low'){
     color = Colors.blue;   
   } else {
     color = Colors.white;
   }
});

你的文本小部件應該是這樣的。

Text('MyText', style: TextStyle(color: color)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM