如何在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将被应用到headlinetitlesubheadbuttonbody1,和body2displayColordisplay1通过display4和应用于caption。如果同时指定bodyColordisplayColor并使用相同的颜色值,则将有效更改所有文本样式上的文本颜色。

例:

final newTextTheme = Theme.of(context).textTheme.apply(

bodyColor: Colors.pink,

displayColor: Colors.pink,

);

以上是 如何在Flutter中更改整个主题的文本颜色? 的全部内容, 来源链接: utcz.com/qa/428142.html

回到顶部