Flutter:在包中指定和使用资产

Flutter: Specify and use an asset within a package

在 Flutter/Dart 包中指定和引用资产的一般方法是什么?

我尝试了各种方法,但在尝试创建图像小部件时总是出现错误 Unable to load asset: path/to/imageImage(image: AssetImage('path/to/image'))

我的目标是创建自定义按钮库,其中一些应该带有自定义图标(图像)。

我想在我自己的包中使用图像,而不是在应用程序外部,而是公开完整的按钮小部件。

例如,假设我正在创建一个名为 wolf:

的包

在上面的目录结构中,你把资产放在什么地方,你如何在pubspec.yaml中定义它(如果需要),你如何在wolf/lib/src/Wolf.dart中使用它?

在您的 pubsec.yaml 中,您需要包含资产,就像这样-

flutter:
  assets:
    - assets/logos/google_light.png
    - assets/logos/google_dark.png

在您的包中创建一个小部件并使用它。在 AssetImagepackage 属性中使用你的包名(假设你的包名是 flutter_mypackage_button),像这样-

Image(
    image: AssetImage(
        button == Buttons.Google
            ? 'assets/logos/google_light.png'
            : 'assets/logos/google_dark.png',
        package: 'flutter_mypackage_button',
    ),
    height: 36.0,
)

我希望这应该做到。