我正在尝试构建一个支持自定义字体的Flutter应用程序。奇怪的是,我理想的情况是只想在移动的应用程序中捆绑字体,而不是在Web上捆绑字体,而不在构建时对代码进行重大修改。有什么方法吗?我将字体文件添加到assets和pubspec中,还使用了google_fonts包。
66bbxpm51#
下面是您可以如何做到这一点:在项目目录中创建两个文件夹:字体和字体_web。将字体文件添加到字体文件夹。更新pubspec. yaml文件以在assets部分包含字体文件:亚姆勒
flutter: assets: - fonts/
然后,您需要安装google_fonts软件包,以便在应用中轻松流畅地使用自定义字体:亚姆勒
dependencies: google_fonts: ^2.1.0
然后nn您的代码,导入google_fonts包,并使用GoogleFonts小部件指定自定义字体:进口" Package :扑/料.镖";导入"软件包:谷歌字体/谷歌字体. dart";dart
class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'My App', theme: ThemeData( textTheme: GoogleFonts.openSansTextTheme(), ), home: MyHomePage(), ); } }
如果只包含移动应用程序的字体,您需要使用基于平台的条件导入。然后将pubspec. yaml文件中的assets部分替换为以下代码:亚姆勒
flutter: assets: - ${{false ? "ignore" : "fonts/"}} - ${{true ? "fonts_web/" : "ignore/"}}
创建fonts_web文件夹,在其中添加一个空的忽略文件。这将阻止您的字体包含在Web构建中。
1条答案
按热度按时间66bbxpm51#
下面是您可以如何做到这一点:
在项目目录中创建两个文件夹:字体和字体_web。
将字体文件添加到字体文件夹。
更新pubspec. yaml文件以在assets部分包含字体文件:
亚姆勒
然后,您需要安装google_fonts软件包,以便在应用中轻松流畅地使用自定义字体:
亚姆勒
然后nn您的代码,导入google_fonts包,并使用GoogleFonts小部件指定自定义字体:
进口" Package :扑/料.镖";导入"软件包:谷歌字体/谷歌字体. dart";
dart
如果只包含移动应用程序的字体,您需要使用基于平台的条件导入。然后将pubspec. yaml文件中的assets部分替换为以下代码:
亚姆勒
创建fonts_web文件夹,在其中添加一个空的忽略文件。这将阻止您的字体包含在Web构建中。