Flutter Applying font family from Theme in Main.dart 文件被应用但从自定义文件应用时相同仅适用于应用栏

问题描述

我正在从外部 themeFile 在 Flutter 应用程序中应用主题

字体详细信息添加在 pubspec.yaml 文件中。

在场景 1 中,主题是从自定义文件中应用的。问题是字体仅应用于 AppBar。不在应用程序的任何其他部分。

在场景2中,主题直接应用在main.dart文件中。该字体应用于所有小部件。没有其他变化。

有人可以帮忙吗。

场景一

void main() {

  WidgetsFlutterBinding.ensureInitialized();
  runApp(MyApp());
}

class MyApp extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      localizationsDelegates: [
        AppLocalizations.delegate,GlobalMaterialLocalizations.delegate,GlobalWidgetsLocalizations.delegate,GlobalCupertinoLocalizations.delegate,],supportedLocales: [
        const Locale('en',''),const Locale('fr',title: 'Hello App',theme: CustomTheme.theme,// home: Login(),routes: {
        '/' : (ctx) => LoginScreen(),},);

  }
}

自定义主题文件

class CustomTheme {
  static ThemeData get theme {
    return ThemeData(
      fontFamily: "Montserrat",primarySwatch: CustomColors.primarySwatch,accentColor: CustomColors.accentColor,iconTheme: IconThemeData(
          color: Colors.white
      ),textTheme: ThemeData
          .light()
          .textTheme
          .copyWith(
          headline6: TextStyle(color: CustomColors.textPrimary)
      ),);
  }
}

Scenario 1

场景 2

void main() {

  WidgetsFlutterBinding.ensureInitialized();
  runApp(MyApp());
}

class MyApp extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      localizationsDelegates: [
        AppLocalizations.delegate,// English,no country code
        const Locale('fr',// Spanish,no country code
      ],theme: ThemeData(
        fontFamily: "Montserrat"
      ),);

  }
}

Scenario 2

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

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