Flutter:在包中指定和使用资产
Flutter: Specify and use an asset within a package
在 Flutter/Dart 包中指定和引用资产的一般方法是什么?
我尝试了各种方法,但在尝试创建图像小部件时总是出现错误 Unable to load asset: path/to/image
:Image(image: AssetImage('path/to/image'))
。
我的目标是创建自定义按钮库,其中一些应该带有自定义图标(图像)。
我想在我自己的包中使用图像,而不是在应用程序外部,而是公开完整的按钮小部件。
例如,假设我正在创建一个名为 wolf
:
的包
wolf/
wolf/lib/wolf.dart
wolf/lib/src/Wolf.dart
wolf/pubspec.yaml
在上面的目录结构中,你把资产放在什么地方,你如何在pubspec.yaml
中定义它(如果需要),你如何在wolf/lib/src/Wolf.dart
中使用它?
在您的 pubsec.yaml
中,您需要包含资产,就像这样-
flutter:
assets:
- assets/logos/google_light.png
- assets/logos/google_dark.png
在您的包中创建一个小部件并使用它。在 AssetImage
的 package
属性中使用你的包名(假设你的包名是 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,
)
我希望这应该做到。
在 Flutter/Dart 包中指定和引用资产的一般方法是什么?
我尝试了各种方法,但在尝试创建图像小部件时总是出现错误 Unable to load asset: path/to/image
:Image(image: AssetImage('path/to/image'))
。
我的目标是创建自定义按钮库,其中一些应该带有自定义图标(图像)。
我想在我自己的包中使用图像,而不是在应用程序外部,而是公开完整的按钮小部件。
例如,假设我正在创建一个名为 wolf
:
wolf/
wolf/lib/wolf.dart
wolf/lib/src/Wolf.dart
wolf/pubspec.yaml
在上面的目录结构中,你把资产放在什么地方,你如何在pubspec.yaml
中定义它(如果需要),你如何在wolf/lib/src/Wolf.dart
中使用它?
在您的 pubsec.yaml
中,您需要包含资产,就像这样-
flutter:
assets:
- assets/logos/google_light.png
- assets/logos/google_dark.png
在您的包中创建一个小部件并使用它。在 AssetImage
的 package
属性中使用你的包名(假设你的包名是 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,
)
我希望这应该做到。