如何在颤动中通用更改应用栏的字体系列?
Posted
技术标签:
【中文标题】如何在颤动中通用更改应用栏的字体系列?【英文标题】:How to change font family of app bar universally in flutter? 【发布时间】:2021-04-05 08:44:35 【问题描述】:我想普遍地更改我的应用程序中的应用栏字体,但我没有找到任何合适的答案。 有没有办法在 MaterialApp 中使用 ThemeData 和主题来全局应用主题? 我不想像下面这样应用 TextStyle 属性
appBar: AppBar(
title: Text('Title ',style: TextStyle(fontFamily: 'YOUR_FONT_FAMILY'),
),
),
如果没有,更改应用栏字体的最佳方法是什么?
P.S.这是我在 *** 上的第一篇文章。
【问题讨论】:
【参考方案1】:你应该使用AppBarTheme
。请找到下面的代码
在 MaterialApp 中这样使用,
MaterialApp(
title: 'Test App',
debugShowCheckedModeBanner: false,
theme: ThemeData(
appBarTheme: AppBarTheme(
textTheme: ThemeData.light()
.textTheme
.copyWith(
headline6: TextStyle( // instead of title use can use display as well
fontFamily: 'Lobster',
),
)
.apply(
fontFamily: 'Lobster',
),
),
),
);
AppBar(
title: Text('App bar',
style: Theme.of(context).appBarTheme.textTheme. headline6,
),
);
【讨论】:
这不起作用。除了创建新的 AppBarTheme(),我们不能只使用 Theme.of(context).appBarTheme.copywith() 吗? 这也是可能的。它应该可以工作。还有你使用的字体系列,你在 pubspec.yaml 文件中配置了它 是的,它是在 pubspec.yaml 文件中配置的,字体系列是 'Lobster'。我可以改变它,但我想普遍改变它。 知道了。请检查我刚刚在 MaterialApp 中添加的更新代码。希望有效 我发现headline6 用于应用栏和对话框中的主要文本。来源:api.flutter.dev/flutter/material/TextTheme/headline6.html 所以我像这样配置它并且它工作了``` appBarTheme: Theme.of(context).appBarTheme.copyWith( textTheme: Theme.of(context).textTheme.copyWith(headline6: TextStyle( fontSize: 24 , fontFamily: 'Lobster', ),),), ``` 我不必使用 light() 或 dark()。这可能是正确的。以上是关于如何在颤动中通用更改应用栏的字体系列?的主要内容,如果未能解决你的问题,请参考以下文章
Sublime Text 2 如何更改文件侧边栏的字体大小?