Ich versuche, CircularPercentIndicator mit einem dynmaischen Wert anzuzeigen. Ich erhalte einen Wert aus einem API-Beispiel wie "12.7". Ich kann dies in Text Child von CircularPercentIndicator zeigen, aber ich muss die Farbe von CircularPercentIndicator gemäß "12.7" anzeigen. Ich kann nur einen doppelten Wert übergeben . Ich benutze Prozent_Indikator
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],
),
)
Wenn ich Ihr Problem gut verstehe, ist das Problem
Sie können nicht den richtigen Prozentsatz auf dem
CircularPercentIndicator
anzeigen, aber Sie können den Text für dieses Widget anzeigen
Wenn dies der Fall ist, glaube ich, dass Sie nach dem Lesen der Dokumentation und dem Betrachten Ihres Codes den Prozentsatz als genau schreiben 0.7
und an diesen weitergeben, percent
der sich um Ihre Farbe des Fortschritts kümmert, und nicht der Wert, der von der API kommt.
Um es dynamisch zu machen, verwenden Sie data.percentage
nur Ihre , was meiner Meinung nach auch die Daten in Ihrem Text anzeigt.
Um die Daten als percent
as double zu übergeben, können Sie die Daten als verwendendouble.parse(any_value)
Ich gehe davon aus, dass das data.percentage
Update nur von Ihrer Methode durchgeführt wird
Code
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],
)
)
Um mehr darüber zu erfahren, wie Sie die Zeichenfolgendaten in double umwandeln können, lesen Sie bout String to Double dart .
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen