【问题标题】:Error: unable to locate asset entry in pubspec.yaml: "fonts/Ranga-Regular.ttf"错误:无法在 pubspec.yaml 中找到资产条目:“fonts/Ranga-Regular.ttf”
【发布时间】:2020-07-01 04:12:10
【问题描述】:

enter image description here

我尝试过工作,但字体不工作 文件 pubspec.yaml 中的空格是正确的 我不知道错误在哪里以及为什么 总是有一个错误导致字体不起作用 enter image description here

在文件 pubspec.yaml 中

fonts:
- family: Ranga
  fonts:
    - asset: asset/fonts/Ranga-Regular.ttf
    - asset: asset/fonts/Ranga-Bold.ttf
      weight: 700
- family: Arimo
  fonts:
    - asset: asset/fonts/Arimo-Regular.ttf
    - asset: asset/fonts/Arimo-Italic.ttf
      style: italic
    - asset: asset/fonts/Arimo-Bold.ttf
      weight: 700

在文件 home_screecn.dart 中 导入'package:flutter/material.dart';

 class homescreen extends StatelessWidget {
   @override
   Widget build(BuildContext context) {
// TODO: implement build
return Center(
    child: Container(
        alignment: Alignment.center,
        color: Colors.cyan,
        child: Text("Hi amal",
            textDirection: TextDirection.ltr,
            style: TextStyle(
                color: Colors.black, fontSize: 70, fontFamily: "Ranga" 
                )
                )
                ));}}

在 main.dart 中

  import 'package:flutter/material.dart';
   import 'layout/home_screen.dart';

  void main() => runApp(MyApp());

   class MyApp extends StatelessWidget {
     // This widget is the root of your application.
     @override
     Widget build(BuildContext context) {
      return homescreen();




      }}

除字体外一切正常 字体没有在模拟器中运行

字体部分 enter image description here

【问题讨论】:

  • 欢迎使用stackoverflow,如asking guide 所述,请不要发布代码图片,而是在问题中包含格式正确的代码。
  • 您的字体文件位于asset\fonts 文件夹中,而不是“资产/字体”文件夹中。所以,无论你尝试了多少,如果你没有在 `pubspec.yaml' 中添加asset\fonts,你总是会得到错误

标签: flutter dart


【解决方案1】:

因为您将字体文件放在asset\fonts 文件夹中,所以您应该根据文件夹名称在pubspec.yaml 文件中添加代码。

所以你的代码应该是这样的:

  fonts:
    - family: Ranga
      fonts:
        - asset: asset\fonts/Ranga-Regular.ttf
        - asset: asset\fonts/Ranga-Bold.ttf
          weight: 700
    - family: Arimo
      fonts:
        - asset: asset\fonts/Arimo-Regular.ttf
        - asset: asset\fonts/Arimo-Italic.ttf
          style: italic
        - asset: asset\fonts/Arimo-Bold.ttf
          weight: 700

【讨论】:

    【解决方案2】:

    我认为您没有将新字体添加到 pubspec.yaml 文件中,因此,您应该

    将字体文件导入项目。通常的做法是将字体文件放在 Flutter 项目根目录的 fonts 或 assets 文件夹中。例如,要将 Raleway 和 Roboto Mono 字体文件导入项目,文件夹结构可能如下所示:

    awesome_app/
      fonts/
        Raleway-Regular.ttf
        Raleway-Italic.ttf
        RobotoMono-Regular.ttf
        RobotoMono-Bold.ttf
    

    然后转到 pubspec.yaml 文件并根据 official site 编辑您的字体部分:

    颤动:

      fonts:
        - family: Raleway
          fonts:
            - asset: fonts/Raleway-Regular.ttf
            - asset: fonts/Raleway-Italic.ttf
              style: italic
        - family: RobotoMono
          fonts:
            - asset: fonts/RobotoMono-Regular.ttf
            - asset: fonts/RobotoMono-Bold.ttf
              weight: 700
    

    保存后,你应该这样使用:

    Text(
      'Roboto Mono sample',
      style: TextStyle(fontFamily: 'RobotoMono'),
    );
    

    看,我在我的 assets/fonts 中添加了一个字体:

    我在 pubspec.yaml 文件中添加了这样的内容

    【讨论】:

    • 实际上我这样做了,但它不起作用,我下载了字体,然后我做了一个名为asset的文件夹,里面有一个名为Fonts的文件,在里面我把下载的字体添加进去.看看我的图片描述
    • 请在 `pubspec.yaml` 中发送您的字体部分? @anaa
    • 其实我做了,但是字体不起作用。我在帖子中添加字体部分的屏幕截图
    • 是否可以将项目发送给我?或创建相同的项目并发送给我? @anaa
    • 是的,当然可以,我怎样才能把它发给你呢?可以给我你的邮箱吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-10
    • 1970-01-01
    • 2019-03-28
    • 2021-08-31
    • 1970-01-01
    • 2019-11-05
    相关资源
    最近更新 更多