如何在 Flutter 中创建全局 TextStyle?

问题描述

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

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

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

解决方法

您可以通过使用 Theme 轻松地使用它。如 flutter docs 所述,您可以像这样使用它:

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 的更多信息。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...