在 Flutter 中更改所有孩子的字体系列

问题描述

是否有一种直接的方法可以将字体系列更改为小部件及其所有子部件?

我的想法是拥有一个继承的小部件并存储字体系列,并在创建每个文本小部件并设置其样式时调用它来获取它,但我更喜欢更简单的方法

解决方法

您可以将要更改其后代的小部件(例如 MyWidget())包装在 Theme 小部件中。例如:

Container(
 child: Theme(
          data: Theme.of(context).copyWith(
              textTheme: TextTheme(<your changes here>),),child: MyWidget()
        )
)