谷歌字体包会在设备上下载字体吗



在我的flutter Android应用程序中,第一次启动时,该应用程序会显示默认字体,第二次启动后,它会更改为我在谷歌字体flutter包中使用的字体。我想我的问题是,应用程序第一次启动时字体会立即下载吗?,如果可以的话,可以用应用程序编译字体,这样就不需要在设备上下载了。

是的,google_fonts在运行时通过HTTP获取它们。对于开发目的来说,这确实很好,但当你选择要使用的字体时,按照他们的建议进行,即下载字体并将其放在资产文件夹中,这样,包就不会下载任何内容,而是从资产文件夹中取用。

欲了解更多信息,请阅读本文。

google_fonts包将自动在中使用匹配的字体文件您的pubspec.yaml的资产(而不是在运行时通过HTTP(。一旦你确定了你想要使用的字体:

从下载字体文件https://fonts.google.com.你只需要下载用于任何给定族的权重和样式。将这些字体移动到顶级应用目录(例如google_fonts(。

确保您已在资产下的pubspec.yaml。

注意:由于这些文件被列为资产,因此无需列出在pubspec.yaml的字体部分。这可以做到因为这些文件是从Google Fonts API中一致命名的(因此请确保不要重命名它们!(

Google Fonts在运行时从互联网上获取。所以你观察这种行为

要克服这个问题,请从google font下载字体,并使其在asset folder中可用,然后从更改代码

Text(
'This is hammersmithOne from Google Font'
style: GoogleFonts.hammersmithOne(),
),

Text(
'This is hammersmithOne from Google Font',
style: TextStyle(fontFamily: 'hammersmithOne') // This is loaded from assets
),

如需进一步参考,请参阅本文。

是的,但你应该记住,如果你的设备在应用程序启动时无法连接到Wi-Fi或移动网络,那么这个包中的字体将不会下载到设备上,flutter将应用其默认字体。

最新更新