おそらく私が見逃している明らかな何かがあります。 Flutterアプリのすべてのテキストの色を変更できるoneプロパティはありますか?
MaterialAppでの現在の方法は次のとおりです。
theme: ThemeData(
textTheme: Theme.of(context).textTheme.copyWith(
body1:
Theme.of(context).textTheme.body1.apply(color: Colors.pink),
body2:
Theme.of(context).textTheme.body2.apply(color: Colors.pink),
display1:
Theme.of(context).textTheme.display1.apply(color: Colors.pink),
display2:
Theme.of(context).textTheme.display2.apply(color: Colors.pink),
... // and so on
),
),
),
私も試しました
textTheme: Theme.of(context).textTheme.apply(bodyColor: Colors.pink),
ただし、これは通常のテキストではなく、ドロップダウンテキストに適用されます。同様に、displayColor
はappBarテキストとInputDecorationテキストに適用されますが、通常のテキストには適用されません。コードにdecorationText
が含まれていないようですので、それが何のためのものなのかわかりません。
textSelectionColor
プロパティがありますが、TextField
ウィジェットにのみ適用されることに注意してください。
TextTheme.apply
はあなたが望むものだと思います。 bodyColor
は、headline
、title
、subhead
、button
、body1
、およびbody2
に適用されます。 displayColor
はdisplay1
からdisplay4
に適用され、caption
に適用されます。 bodyColor
とdisplayColor
の両方を指定し、同じ色の値を使用すると、すべてのテキストスタイルのテキストの色が効果的に変更されます。
例:
final newTextTheme = Theme.of(context).textTheme.apply(
bodyColor: Colors.pink,
displayColor: Colors.pink,
);
すべてのテキストスタイルを直接設定せずに機能するように見える代替手段を提供するには、ウィジェットツリーの場所でDefaultTextStyle
のスタイルを変更して有効にします
return DefaultTextStyle(
style: TextStyle(color: Colors.pink),
child: _YOUR_WIDGETS_
)
少し遅いかもしれませんが、これを使用できます:
ThemeData(
primaryTextTheme: Typography(platform: TargetPlatform.iOS).white,
textTheme: Typography(platform: TargetPlatform.iOS).white,
)
アプリ全体について、textTheme
アプリでMaterial
プロパティを設定できます。
MaterialApp(
theme: ThemeData(
textTheme: TextTheme(
body1: TextStyle(),
body2: TextStyle(),
).apply(
bodyColor: Colors.orange,
displayColor: Colors.blue,
),
),
)
起動時に変更したい場合
return MaterialApp
(
'''
theme: ThemeData
(
canvasColor: Color(0xff30363b),
textTheme: TextTheme
(
//default text style
body1: TextStyle( color: Color(0xFFD0D6DB) ),
),
backgroundColor: Color(0xff30363b),
),
,,,
);