我想使用资产中的图像作为图标,然后构建列表,但是当尝试将Image.asset作为类添加到图标作为IconData数据类型的变量而不是使用图标作为图标时,会发生一些错误班级。
有办法解决这个问题吗?
谢谢。
class Menu {
const Menu({this.icon, this.title});
final IconData icon;
final String title;
}
const List<Menu> menus = const <Menu>[
const Menu(title: 'menu_icon_1', icon: Image.asset('assets/menu/1-1.png')),
],
Run Code Online (Sandbox Code Playgroud)
error: The argument type 'Image' can't be assigned to the parameter type 'IconData'. (argument_type_not_assignable at [sinergi] lib\home.dart:12)
Run Code Online (Sandbox Code Playgroud) 我们有以下结构: 包 A 是一个 flutter 应用程序,它有自己的资产文件夹,并且正在加载如下资产:Image.asset(“assets/images/background.png”)。项目 B,使用包 A 作为依赖项。
当我从项目 B运行包 A时,包 A 的某些小部件的图像无法显示。错误: Another exception was thrown: Unable to load asset: assets/images/light_theme_background.svg
当我将“package”字段添加到包 A中的AssetImage时,当我从项目 B 运行包 A 时,错误得到修复,但包A无法读取其自己的内容。
const AssetImage('assets/heart.png', package: 'my_packages');
Run Code Online (Sandbox Code Playgroud)
当 A 可以从自身读取运行时的资产并从将其作为依赖项的项目运行时,有没有办法打包 A?
运行包 A 时出错: “引发另一个异常:无法加载资源:package/my_packages/assets/images/background.png”
在文档中它说:“包本身使用的内容也应该使用上面的包参数来获取。”
我尝试将asset文件夹复制到lib文件夹,并在pubspec.yaml文件中声明,如此处的答案。然而,大多数报告“错误状态:无效的 SVG 数据”和“异常:无效的图像数据”错误,即使它们都是正常的。
有没有办法在 Flutter 中捕获“无法加载资产:资产/图像/sample_img_url.png”错误?
我想要做的是通过提供其路径(来自 API)来加载资产图像。但是,如果我没有与给定路径关联的图像,则需要加载示例图像。
我创建了一个自定义占位符小部件,如下所示。但是它并没有像我预期的那样工作。任何人都可以帮助我吗?
class ImagePlaceHolder extends StatelessWidget {
final String path;
final double width;
const ImagePlaceHolder({Key key, this.path, this.width}) : super(key: key);
@override
Widget build(BuildContext context) {
Image finalImage;
try{
finalImage = Image.asset(
path,
width: width,
);
}
catch(Exception){
finalImage = Image.asset(
"assets/images/app_update_logo.png",
width: width,
);
}
return finalImage;
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使图像的圆角。这是我的代码:
ClipRRect(
borderRadius: BorderRadius.circular(14),
child: Image.asset(
"assets/images/test.png"
))
Run Code Online (Sandbox Code Playgroud)
一切正常,但是当我尝试将图像放入具有固定高度和宽度的容器中时,圆形边框停止工作。这是我的代码:
LimitedBox(
maxWidth: 95,
maxHeight: 95,
child: ClipRRect(
borderRadius: BorderRadius.circular(14),
child: Image.asset(
"assets/images/test.png"
),
),
)
Run Code Online (Sandbox Code Playgroud)
为什么会出现这种情况,请帮帮我。
我有来自一系列不同 dpi 的位图图像,如何在 flutter 上正确排列它们?- 就像将它们放在 Android 上的 mipmaps 文件夹中一样。
分辨率列表: