加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 14:49:21 所属栏目:百科 来源:网络整理
导读:可能有一些我不知道的东西.是否有一个属性可以更改Flutter应用程序中所有文本的颜色? 我现在这样做的方式是,在我的MaterialApp中: theme: ThemeData( textTheme: Theme.of(context).textTheme.copyWith( body1: Theme.of(context).textTheme.body1.apply(c
可能有一些我不知道的东西.是否有一个属性可以更改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,);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读