Flutter ThemeData不适用于文本

时间:2019-01-10 10:46:01

标签: dart flutter

代码:

@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的{​​{1}}中,然后更改theme的大小。


PS :我知道我可以使用Text属性来给Text设置大小,但是我想知道为什么我的代码没有改变style:字体大小。

1 个答案:

答案 0 :(得分:2)

Text不使用ThemeTheme是特定于材料设计的,而Text是通用的。

Text使用的是DefaultTextStyle,它由MaterialApp(或其他一些小部件,例如AppBar)编辑,其值来自Theme。 / p>

以下方法应该起作用:

DefaultTextStyle(
  style: TextStyle(fontSize: 40),
  child: Text("Hello World"),
);