如何更改CircularProgressIndicator的颜色?

颜色的值是Animation< color >的实例,但我希望有一种更简单的方法来改变颜色,没有动画的麻烦。


当前回答

这招对我很管用:

CircularProgressIndicator(valueColor: AlwaysStoppedAnimation<Color>(Colors.white))

其他回答

accentColor已弃用,不再有效。

要在ThemeData中全局设置它,像这样设置:

光的主题:

theme: ThemeData(
                 colorScheme: ColorScheme.dark(
                    primary: Colors.pink,
                    ),
                ),

黑暗的主题:

theme: ThemeData(
                 colorScheme: ColorScheme(
                    primary: Colors.pink,
                    ),
                ),

本地:

或者如果你想要它只用于本地的一个小部件,只需要像这样设置CircularProgressIndicator的属性:

CircularProgressIndicator(
        backgroundColor:Colors.white,
        valueColor: AlwaysStoppedAnimation<Color>(Colors.pink),
                    ),
valueColor:new AlwaysStoppedAnimation<Color>(Colors.yellow),

试试这个:

CircularProgressIndicator(
  color: Colors.yellow, // Change your color here
),

默认情况下,它从Themedata继承了accentColor

  void main() => runApp(new MaterialApp(
  theme: ThemeData(
                 primaryColor: Colors.blue,
                 accentColor:  Colors.blueAccent,
                 //This will be the color for CircularProgressIndicator color
               ),
  home: Homepage()
    ));

你可以用你的新颜色改变这个accentColor属性。 另一种方法是像这样使用预定义的主题数据

void main() => runApp(new MaterialApp(
  theme: ThemeData.light().copyWith(
                 accentColor:  Colors.blueAccent,
                 //change the color for CircularProgressIndicator color here
               ),
  home: Homepage()
    ));

或者,您可以直接在CircularProgressIndicator中更改此颜色属性,如下所示

CircularProgressIndicator(
         valueColor: AlwaysStoppedAnimation<Color>(Colors.red),
                    ),

可以使用accentColor作为widget的前景色。它可以改变任何前景小部件的颜色,包括circularprogressbar。

void main() => runApp(
  MaterialApp(
    title: 'Demo App',
    home: MainClass(),
    theme: ThemeData(accentColor: Colors.black),
  ),
);