dart Flutter包中的资产在应用程序中不可见

hsgswve4  于 2023-05-26  发布在  Flutter
关注(0)|答案(3)|浏览(157)

我已经创建了一个包,它使用了一些资产(sf2文件,ttf文件等)。资产似乎无法加载。我可以通过将这些文件包含在我的主项目的assets文件夹中来解决这个问题(所以现在,包中的每个资产也在我的主项目中)。然而,当我构建一个Web应用程序时,它仍然会为我的包创建一个额外的文件夹,其中包含它需要的文件。
有办法解决吗?如何强制包使用其自身的资产?

cgh8pdjw

cgh8pdjw1#

经过一番挖掘,我找到了一种方法来包含它。
'packages/livescore_sdk/assets/default_team_logo.png'代替'assets/default_team_logo.png'工作

6bc51xsx

6bc51xsx2#

包括lib文件夹中的资源,并仅从本地项目导入。
假设项目名称为ABC

步骤

1.在lib中创建assets文件夹,示例:lib/assets .完整资产示例url:ABC/lib/assets/some_asset.png
1.复制此文件夹中的资源。
1.在pubspec.yaml中导入资产,如下所示:

assets:
    - packages/ABC/assets/some_asset.png

希望这对某人有帮助。:表情:

3zwjbxry

3zwjbxry3#

要使Flutter包中的资源在您的应用中可见,您需要遵循以下几个步骤:
1.在包的lib目录中创建assets文件夹。这是你储存资产的地方。
1.在包的pubspec.yaml文件中,指定要包含的资产。在flutter部分下添加以下代码:
flutter:资产:- packages/[YOUR_PACKAGE_NAME]/assets/[ASSET_NAME.EXT]
将[YOUR_PACKAGE_NAME]替换为软件包的实际名称,将[ASSET_NAME.EXT]替换为资产文件的名称和扩展名。
1.要在小部件中使用资源,可以使用Image.asset()构造函数。指定资源相对于包的assets文件夹的路径,并使用package参数提供包名称。下面是一个例子:
Image.asset('assets/[ASSET_NAME.EXT]',package:'YOUR_PACKAGE_NAME')
请确保您已正确执行了这些步骤,并且资源已正确位于包的assets文件夹中。此外,确保您已运行flutter pub get或flutter packages get来更新应用的依赖项。

相关问题