flutter 错误:google_fonts无法加载字体

bcs8qyzn  于 2023-01-31  发布在  Flutter
关注(0)|答案(7)|浏览(246)

我试图使用GoogleFonts来测试我的UI,但我得到这个奇怪的错误error: google_fonts was unable to load font
这种情况发生在任何单一的字体。
这是我的设置VsCodeFlutter1.12.13+ hf 9 Windows 10
pubspec.yaml

dependencies:
  flutter:
    sdk: flutter
  google_fonts: ^0.4.0

Code

import 'package:google_fonts/google_fonts.dart';
Text('data2', style: GoogleFonts.mcLaren())

Error
I/扑动(5069):error:google_fonts无法加载字体McLaren-Regular,因为发生了以下异常(5069):异常:无法加载URL为的字体:https://fonts.gstatic.com/s/a/ca48a5e17b0201057453d49c4271d139e5824b553505ad1c6fbbd7cbbbf4d1dc.ttf

[√] Flutter (Channel stable, v1.12.13+hotfix.9, on Microsoft Windows, locale pt-BR)

[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[!] Android Studio (not installed)
[√] VS Code, 64-bit edition (version 1.44.0)
[√] Connected device (1 available)

! Doctor found issues in 1 category.
1yjd4xko

1yjd4xko1#

我错了,我发现:
模拟器/设备需要互联网连接。
谷歌字体需要设备/模拟器上的互联网连接。

bxgwgixi

bxgwgixi2#

您需要在AndroidManifest.xml中添加互联网权限。<uses-permission android:name="android.permission.INTERNET"/>

dvtswwa3

dvtswwa33#

原因可能很少:
1.你有没有用PubSpec Assist?https://marketplace.visualstudio.com/items?itemName=jeroen-meijer.pubspec-assist安装Google字体库。最初当我用这个扩展安装插件时,它不起作用(它应该起作用,但奇怪的是它没有)。所以我用通常的方式安装插件。
1.您需要重新启动您的应用才能使更改生效。pubspec.yaml中的更改不会仅反映在热重新加载/热重新启动上。
1.您可以先使用flutter clean重新构建应用。

m0rkklqb

m0rkklqb4#

从设备上删除应用程序并重新安装可能会解决你的问题。它为我解决了,当我面临同样的问题时。

tjrkku2a

tjrkku2a5#

以下几点对我很有效。

转到:File选择Invalidate Caches..等待对话框并检查:
Clear file ......Clear VCS Log .....然后按:Invalidate and Restart
等待5或10分钟,然后完成。

xxslljrj

xxslljrj6#

我在为应用程序设置全局字体时遇到了这个问题。我将字体样式设置为应用程序主题,如下所示。

void main(){
  runApp(
    MaterialApp(
          debugShowCheckedModeBanner: false,
          theme: ThemeData(
            primarySwatch: ThemeConstants.themeColorMaterial,
            textTheme: GoogleFonts.poppinsTextTheme(),
          ),
        ),
     ),
  }

原因是 google_fonts package在HTTP上执行fetch。通常在main方法中不会发生异步函数。所以我们需要告诉main方法有一些异步进程正在发生。为此,我们可以在main方法中添加以下代码

WidgetsFlutterBinding.ensureInitialized();

=======涂抹溶液后========

void main() {
  WidgetsFlutterBinding.ensureInitialized(); //important

  runApp(
    MaterialApp(
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        primarySwatch: ThemeConstants.themeColorMaterial,
        textTheme: GoogleFonts.poppinsTextTheme(),
      ),
    ),
  );
}

资源:https://stackoverflow.com/a/57775690/10827515

c7rzv4ha

c7rzv4ha7#

对于Android和MacOS,需要明确添加网络权限。由于google-fonts通过互联网获取数据,因此需要添加网络权限。
查看此URL:https://docs.flutter.dev/development/data-and-backend/networking#platform-notes

相关问题