我正在创建一个包。我在 lib 目录连续添加了两个目录:字体和图像。我还在 pubspec.yaml 文件中添加了所需的代码,以使用包中的这些字体和图像。我在包目录中创建了一个示例目录,以便测试我正在创建的包,但测试应用程序不会从包中选取字体和图像并给出异常:
FlutterError(无法加载资源:images/abc.png)
目录截图[1]:https://i.stack.imgur.com/po8oT.png
pubspec.yaml:
name: customtestingpackage
description: A new Flutter package project.
version: 0.0.1
author:
homepage:
environment:
sdk: ">=2.7.0 <3.0.0"
flutter: ">=1.17.0"
dependencies:
flutter:
sdk: flutter
cupertino_icons:
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
uses-material-design: true
assets:
- images/
fonts:
- family: Comfortaa
fonts:
- asset: fonts/comfortaa/Comfortaa-Regular.ttf
weight: 400
- asset: fonts/comfortaa/Comfortaa-Medium.ttf
weight: 500
- family: Poppins
fonts:
- asset: fonts/poppins/Poppins-Regular.ttf
weight: 400
- asset: fonts/poppins/Poppins-Medium.ttf
weight: 500
Run Code Online (Sandbox Code Playgroud)
main.dart: 字体的实现
style: TextStyle(
fontSize: 24,
fontWeight: FontWeight.w500,
color: Colors.white,
fontFamily: 'Poppins',
letterSpacing: 1.25,
),
Run Code Online (Sandbox Code Playgroud)
来自https://flutter.dev/docs/development/ui/assets-and-images#from-packages:
要从包依赖项加载图像,必须向 AssetImage 提供包参数。
包本身使用的资源也应该使用上面的包参数来获取。
因此,在您的情况下,您应该能够通过如下方式加载图像:
Image.asset(
'images/image_a.png',
package: 'customtestingpackage',
),
Run Code Online (Sandbox Code Playgroud)
这似乎也适用于字体。来自: https: //api.flutter.dev/flutter/painting/TextStyle-class.html
要使用包中定义的字体系列,必须提供包参数
如果包内部使用它定义的字体,则在创建文本样式时仍应指定包参数,如上例所示。
| 归档时间: |
|
| 查看次数: |
1309 次 |
| 最近记录: |