你能改变 flutter 文本主题吗?

Can you change flutter text theme?

如果在main.dart中设置主题为

return MaterialApp(
  title: 'MY APP',
  theme: ThemeData(
    primarySwatch: Colors.blue,
    fontFamily: 'Cabin',
    textTheme: TextTheme(
      headline1: TextStyle(
        fontFamily: 'Raleway',
        color: Colors.black,
        fontWeight: FontWeight.w600,
        fontSize: 18,
      ),
      subtitle1: TextStyle(
        fontFamily: 'Raleway',
        color: Colors.black54,
        fontWeight: FontWeight.w600,
        fontSize: 16,
      ),
    ),
  ),

并且我将主题用作

Text('MY STRING',
    style: Theme.of(context).textTheme.subtitle1),

如何使 'MY STRING' 成为与 subtitle1 主题颜色不同的颜色,同时保持主题数据的其他属性,例如字体粗细、系列和大小等?

您可以使用 de 方法 copyWith(color: your_color) 更改 TextTheme 的属性。

示例:

Text('MY STRING',
  style: Theme.of(context).textTheme.subtitle1
    .copyWith(color: Colors.red),
)

文档参考:https://api.flutter.dev/flutter/material/TextTheme/copyWith.html