首页 > 解决方案 > 如何在 Flutter 中创建全局 TextStyle?

问题描述

在返回语句之前的构建小部件的主页中,我使用以下代码。如果我在主页中创建另一个小部件,我必须在每个返回语句之前复制以下代码。如果您创建另一个无状态/有状态 dart 文件,我需要再次复制以下代码。

我的问题是如何在 Flutter 中创建全局 TextStyle?我不想更改主题数据,都想在我的颤振项目中使用我的 TextStyle。谢谢。

  TextStyle myNormalStyle = TextStyle(
        fontSize: SizerUtil.deviceType == DeviceType.Mobile ? 14.0.sp : 13.0.sp,
        fontStyle: FontStyle.normal,
        fontWeight: FontWeight.normal,
        color: Colors.black);

标签: flutterglobal-variablestextstyle

解决方案


您可以通过使用轻松使用Theme。如颤振文档中所述,您可以像这样使用它:

MaterialApp(
  title: title,
  theme: ThemeData(
    // Define the default brightness and colors.
    brightness: Brightness.dark,
    primaryColor: Colors.lightBlue[800],
    accentColor: Colors.cyan[600],

    // Define the default font family.
    fontFamily: 'Georgia',

    // Define the default TextTheme. Use this to specify the default
    // text styling for headlines, titles, bodies of text, and more.
    textTheme: TextTheme(
      headline1: TextStyle(fontSize: 72.0, fontWeight: FontWeight.bold),
      headline6: TextStyle(fontSize: 36.0, fontStyle: FontStyle.italic),
      bodyText2: TextStyle(fontSize: 14.0, fontFamily: 'Hind'),
    ),
  )
);

或者您也可以使用DefaultTextStyle小部件为该小部件的所有子级提供默认值TextStyle。阅读有关DefaultTextStyle的更多信息。


推荐阅读