如何在Flutter中更改整个主题的文本颜色?

前端之家收集整理的这篇文章主要介绍了如何在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将应用于标题,标题,子标题,按钮,body1和body2. displayColor将应用于display1到display4和标题.如果同时指定bodyColor和displayColor并使用相同的颜色值,则会有效地更改所有文本样式的文本颜色.

例:

final newTextTheme = Theme.of(context).textTheme.apply(
  bodyColor: Colors.pink,displayColor: Colors.pink,);

猜你在找的Flutter相关文章