Bagaimana cara mengubah warna CircularProgressIndicator
?
Nilai warna adalah contoh dari Animation<Color>
, tetapi saya berharap ada cara yang lebih sederhana untuk mengubah warna tanpa masalah animasi.
Ini berhasil untuk saya:
valueColor: new AlwaysStoppedAnimation<Color>(Colors.blue),
The argument type 'AlwaysStoppedAnimation<Color>' can't be assigned to the parameter type 'Animation<Color>'
Tiga cara untuk menyelesaikan masalah Anda
1) Menggunakan
valueColor
propertiCircularProgressIndicator( valueColor: new AlwaysStoppedAnimation<Color>(Colors.blue), ),
2) Setel
accentColor
diMaterialApp
widget utama Anda . Ini adalah cara terbaik karena Anda tidak ingin selalu menyetel warna saat Anda menggunakanCircularProgressIndicator
widgetMaterialApp( title: 'My App', home: MainPAge(), theme: ThemeData(accentColor: Colors.blue), ),
3) Menggunakan
Theme
WidgetTheme( data: Theme.of(context).copyWith(accentColor: Colors.red), child: new CircularProgressIndicator(), )
sumber
accentColor
dapat digunakan untuk warna latar depan Widget. Ini mengubah warna widget latar depan termasukcircularprogressbar
Anda dapat menggunakan seperti ini:void main() => runApp( MaterialApp( title: 'Demo App', home: MainClass(), theme: ThemeData(accentColor: Colors.black), ), );
sumber
Tema adalah widget yang dapat Anda sisipkan di mana saja di pohon widget Anda. Ini mengganti tema saat ini dengan nilai-nilai khusus. Coba ini:
new Theme( data: Theme.of(context).copyWith(accentColor: Colors.yellow), child: new CircularProgressIndicator(), );
referensi: https://gitter.im/flutter/flutter?at=5a84cf9218f388e626a51c2d
sumber
valueColor:new AlwaysStoppedAnimation<Color>(Colors.yellow),
sumber
Secara default, ini mewarisi accentColor dari Themedata
void main() => runApp(new MaterialApp( theme: ThemeData( primaryColor: Colors.blue, accentColor: Colors.blueAccent, //This will be the color for CircularProgressIndicator color ), home: Homepage() ));
Anda dapat mengubah properti accentColor ini dengan warna baru Anda. Cara lain adalah menggunakan dengan ThemeData standar seperti ini
void main() => runApp(new MaterialApp( theme: ThemeData.light().copyWith( accentColor: Colors.blueAccent, //change the color for CircularProgressIndicator color here ), home: Homepage() ));
Atau Anda bisa langsung mengubah properti warna ini di CircularProgressIndicator seperti yang ditunjukkan di bawah ini
sumber
Dalam
main.dart
mengatur temaaccentColor
,CircularProgressIndicator
akan menggunakan warna ituvoid main() => runApp(new MaterialApp( theme: ThemeData(primaryColor: Colors.red, **accentColor: Colors.yellowAccent**), debugShowCheckedModeBanner: false, home: SplashPage() ));
sumber
untuk set warna sigle,
untuk perubahan / set multi warna.
class MyHomePage extends StatefulWidget { @override _MyHomePageState createState() => _MyHomePageState(); } class _MyHomePageState extends State<MyHomePage> with TickerProviderStateMixin { AnimationController animationController; @override void dispose() { // TODO: implement dispose super.dispose(); animationController.dispose(); } @override void initState() { super.initState(); animationController = AnimationController(duration: new Duration(seconds: 2), vsync: this); animationController.repeat(); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("Color Change CircularProgressIndicator"), ), body: Center( child: CircularProgressIndicator( valueColor: animationController .drive(ColorTween(begin: Colors.brown, end: Colors.red)), ), ), ); } }
sumber
Gunakan seperti ini --->
CircularProgressIndicator (valueColor: AlwaysStoppedAnimation (Colors.grey [500]),)),
sumber