可能有些明显的东西我不见了。是否有 一个 属性可以更改Flutter应用程序中所有文本的颜色?
我现在的操作方式是在我的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代码中似乎没有任何内容,因此我不确定该代码的用途。
displayColor
decorationText
我注意到有一个textSelectionColor属性,但仅适用于TextField小部件。
textSelectionColor
TextField
我想TextTheme.apply就是你想要的。bodyColor将被应用到headline,title,subhead,button,body1,和body2。displayColor将display1通过display4和应用于caption。如果同时指定bodyColor和displayColor并使用相同的颜色值,则将有效更改所有文本样式上的文本颜色。
TextTheme.apply
bodyColor
headline
title
subhead
button
body1
body2
display1
display4
caption
例:
final newTextTheme = Theme.of(context).textTheme.apply( bodyColor: Colors.pink, displayColor: Colors.pink, );