dart - Flutter ThemeData 不适用于文本

代码:

@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))),

在我的 MaterialApptheme 中,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 默认日期格式

dart - 同屏多于一个 float 操作按钮显示黑屏

amazon-web-services - 在 Flutter 中从 AWS S3 上传和获取媒体文

dart - Flutter:StatelessWidget.build 被多次调用