我假设我们可以在另一个中嵌入一个颤动的应用程序,例如,如果我有一个可重复使用的菜单,其中包含我想在多个应用程序中使用的图像。
因此,FlutterAppA引用了FlutterAppB,并包含在FlutterAppA的pubspec.yaml中。 FlutterAppB将图像包含在其资产文件夹中,在pubspec文件中声明,并定义显示该资产的窗口小部件。我想从B访问该小部件(用资产显示小部件)
B的pubspec
flutter:
assets:
- assets/smile.gif
A的pubspec
dependencies:
flutter:
sdk: flutter
flutter_app_b:
path: ../flutter_app_b/
当B单独运行时,将显示图像。
class MyApp extends StatelessWidget {
Widget build(BuildContext context) => MaterialApp(
home: SmileAssetImage());
}
class SmileAssetImage extends StatelessWidget {
Widget build(BuildContext context) => Image.asset('assets/smile.gif');
}
但是当在FlutterAppA中访问它时,它无法找到资产并且“无法加载资产异常”。
资产是否在正确的位置,是否应该在资产文件夹和/或两个pubspec文件夹中?
是的,似乎应该在实际运行的任何应用程序中包含和声明资产(如果运行A然后需要在应用程序A中定义资产,如果运行B,则资产需要在应用程序B中)。 flutter clean
命令似乎是必要的