CircularProgressIndicatorの色を変更する方法


110

どうすれば色を変更できCircularProgressIndicatorますか?

色の値はのインスタンスですAnimation<Color>が、アニメーションの問題なく色を変更する簡単な方法があることを願っています。

回答:


229

これは私のために働きました:

valueColor: new AlwaysStoppedAnimation<Color>(Colors.blue),

これは線形の進捗
インジケータに

どうも!AlwaysStoppedAnimationが存在するときから?
鉄筋

フラッターで私が手1.20.0.7.2.preThe argument type 'AlwaysStoppedAnimation<Color>' can't be assigned to the parameter type 'Animation<Color>'
ゼイン・キャンベル

54

問題を解決する3つの方法

1)valueColorプロパティの使用

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

2)accentColorメインMaterialAppウィジェットで設定します。CircularProgressIndicatorウィジェット を使用するときは常に色を設定したくないので、これは最良の方法です

MaterialApp(
        title: 'My App',
        home: MainPAge(),
        theme: ThemeData(accentColor: Colors.blue),
),

3)Themeウィジェットの使用

Theme(
      data: Theme.of(context).copyWith(accentColor: Colors.red),
      child: new CircularProgressIndicator(),
)

15

accentColorウィジェットの前景色にcircularprogressbar使用できます。次のような前景ウィジェットの色を変更します。

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


2

デフォルトでは、テーマデータからアクセントカラーを継承します

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

このアクセントカラープロパティは、新しい色で変更できます。他の方法は、このように事前定義されたThemeDataを使用することです

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),
                    ),

2

main.dart設定したテーマaccentColorCircularProgressIndicatorその色を使用します。

void main() => runApp(new MaterialApp(
  theme: ThemeData(primaryColor: Colors.red, **accentColor:  Colors.yellowAccent**),
  debugShowCheckedModeBanner: false,
  home: SplashPage()
));

これは他のシステムカラーにも影響しますが、これは明らかに要求されたものではありません。
Alex Semeniuk

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.