如何在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,); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |