我试图显示具有动态值的CircularPercentIndicator,我从类似“12.7”的api示例中获取值,我可以将其显示为CircularPercentIndicator的Text子项,但是我需要根据“12.7”显示CircularPercentIndicator的颜色,我只能传递 double 值。
我正在使用percent_indicator
Padding(
padding: const EdgeInsets.only(top: 25),
child: CircularPercentIndicator(
radius: 55.0,
lineWidth: 8.0,
animation: true,
percent: 0.7,
center: new Text(
data.percentage + "%",,
style: new TextStyle(
fontWeight: FontWeight.bold,
fontSize: 11.0),
),
circularStrokeCap: CircularStrokeCap.round,
progressColor: Colors.green[700],
),
)
最佳答案
如果我很了解您的问题,那么问题是
如果是这种情况,请阅读文档并查看代码后,我认为您做错了事情,就是将百分比确切地写成0.7
并将其传递给percent
,以照顾您的进度颜色,而不是来自API的值(value)。
为了使其动态化,请仅使用data.percentage
,我相信这也可以在文本中显示数据。
要将数据以两倍的形式传递到percent
中,可以将数据用作double.parse(any_value)
我假设data.percentage
更新仅由您的方法处理
代码
Padding(
padding: const EdgeInsets.only(top: 25),
child: CircularPercentIndicator(
radius: 55.0,
lineWidth: 8.0,
animation: true,
percent: double.parse(data.percentage) / 100, // here we're using the percentage to be in sync with the color of the text
center: new Text(
data.percentage + "%",,
style: new TextStyle(
fontWeight: FontWeight.bold,
fontSize: 11.0),
),
circularStrokeCap: CircularStrokeCap.round,
progressColor: Colors.green[700],
)
)
要了解有关将字符串数据类型转换为 double 类型的更多信息,请阅读bout String to Double dart。