如何在Flutter中更改整个主题的文本颜色?
可能有些明显的东西我不见了。是否有 一个 属性可以更改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
代码中似乎没有任何内容,因此我不确定该代码的用途。
我注意到有一个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,
);
以上是 如何在Flutter中更改整个主题的文本颜色? 的全部内容, 来源链接: utcz.com/qa/428142.html