代码:
@override
Widget build(BuildContext context) {
return Theme(
data: ThemeData(textTheme: TextTheme(body1: TextStyle(fontSize: 40))),
child: Text("Hello World!"), // size not changing
);
}
但是当我使用
data: ThemeData(textTheme: TextTheme(body1: TextStyle(fontSize: 40))),
在我的 MaterialApp
的 theme
中,Text
的大小会发生变化。
PS:我知道我可以通过使用 style:
属性给 Text
一个大小,但我想知道为什么我的代码没有改变文本
字体大小。
最佳答案
Text不使用 Theme . Theme是特定于 Material 设计的,而 Text是通用的。
什么Text使用的是 DefaultTextStyle ,由 MaterialApp
(或其他一些小部件,例如 AppBar
)使用 Theme 中的值进行编辑.
以下应该有效:
DefaultTextStyle(
style: TextStyle(fontSize: 40),
child: Text("Hello World"),
);
https://stackoverflow.com/questions/54126972/
相关文章:
dart - flutter ListView 滚动到索引不可用
android - 使用 pushNamed() 从屏幕错误中 flutter 返回数据
android - 即使应用程序关闭,也在后台运行 Dart 和 Flutter 中的定期任务
android - 在 Dismissible Widget 上禁用关闭方向
dart - Flutter - 如何在 flutter 的数字键盘中添加完成按钮
android - 如何在 Flutter 中删除 Firebase 云消息传递 token
datetime - Dart/Flutter 默认日期格式