flutter google字体包会下载设备上的字体吗?

zy1mlcev  于 2023-08-08  发布在  Flutter
关注(0)|答案(3)|浏览(213)

在我的flutter Android应用程序中,在第一次启动时,应用程序显示默认字体,然后一秒钟后,它会更改为我从谷歌字体flutter包中使用的字体。我想我的问题是,应用程序第一次启动时是否会立即下载字体?如果是,是否可以使用应用程序编译字体,以便不需要在设备上下载。

qxsslcnc

qxsslcnc1#

是的,google_fonts在运行时通过HTTP获取它们。这对于开发目的来说确实很好,但是当你选择你想使用的字体时,按照他们的建议去做,也就是下载字体并把它放在assets文件夹中,这样的话,包就不会下载任何东西,而是从assets文件夹中获取。
更多信息:看看这个。
google_fonts包会自动使用pubspec.yaml资产中匹配的字体文件(而不是在运行时通过HTTP获取它们)。
https://fonts.google.com下载字体文件。你只需要下载你正在使用的字体的粗细和样式。将这些字体移到应用程序的顶层目录(例如google_fonts)。
确保您已经在资产下列出了pubspec. yaml中的文件夹(例如google_fonts/)。
注意:由于这些文件被列为资产,因此无需在pubspec.yaml的fonts部分中列出它们。可以这样做,因为这些文件在Google Fonts API中的命名是一致的(因此请确保不要重命名它们!)

gab6jxml

gab6jxml2#

Google Fonts是在运行时从Internet获取的。
要解决此问题,请从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
),

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

0pizxfdo

0pizxfdo3#

是的,但您应该记住,如果您的设备在应用启动时无法连接到Wi-Fi或移动的网络,则此软件包中的字体将不会下载到设备,flutter将应用其默认字体。

相关问题