颤振状态颜色更改

时间:2020-10-25 06:24:49

标签: flutter

如果待处理状态变为红色,完成状态变为绿色,如何更改状态值的颜色来自数据库

我的数据库中有一个待处理和完成的值,如果状态显示为待处理,则颤动中的状态颜色将为红色,如果完成,则颜色将为绿色

final x = list[i];
debugPrint(x.toString());
return Container(
  padding: EdgeInsets.all(20.0),
  child: Row(
    children: <Widget>[
      Expanded(
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: <Widget>[
            Text(
              'Vessel Name:\t' + x["vesselname"],
              style: TextStyle(fontSize: 20.0, fontWeight: FontWeight.bold),
            ),
            Text('Ship Call #:\t' + x["scn"], style: TextStyle(fontSize: 20.0)),
            Text('Vessel Number:\t' + x["voyageno"], style: TextStyle(fontSize: 20.0)),
            Text('Status:\t' + x["status"], style: TextStyle(fontSize: 20.0)),
            Divider()
          ],
        ),
      ),
    ],
  ),
);

这是我对数据库的请求:

var url = "http://192.168.1.15/vessellog/read.php";
  List<dynamic> list = [];
  Future<void> getData() async {
    list.clear();
    setState(() {
      loading = true;
    });
    Future<SharedPreferences> _prefs = SharedPreferences.getInstance();
    SharedPreferences preferences = await _prefs;
    String id = preferences.getString("id");
    final response = await http.get(url + "?client_signature=$id");
    debugPrint(response.body);
    if (response.contentLength == 2) {
    } else
      setState(() {
        list = jsonDecode(response.body);
        loading = false;
      });
  }

1 个答案:

答案 0 :(得分:0)

您需要使用TextStyle中的color参数。根据{{​​1}}值进行更改。

这是您的完整代码,只有很小的更改,请参见注释行:

for k in d.keys():
    new_key = re.findall(".*\)\s(.*)", k)[0]
    d[new_key] = d[k]
    del d[k]