我正在尝试构建一个功能,该功能将导航到相机屏幕以拍照。捕获图像时,将使用新图像的路径调用回调方法。在这种方法中,图片被添加到像这样的图像小部件列表中:
回调:
void _addPictureToGallery(String imagePath) {
this.setState(() {
this.imageGallery.add(Container(
decoration:
BoxDecoration(border: Border.all(color: Colors.black, width: 2)),
child: Image.file(File(imagePath))));
});
}
布局:
body: GridView.count(
crossAxisCount: 2,
children: imageGallery,
),
由于某种原因,这不起作用。我已经检查了大多数情况,可以确认imageGallery变量实际上被新图像填充,但是新图像没有显示。如果我在initState方法中添加了一组默认图像,则确实会显示它们,只是新捕获的图像不会显示。
如果我删除了GridView逻辑并仅显示一个被捕获的图像,如下所示,那么它确实起作用...
布局:
body: imagePath != null ? Image.file(File(imagePath)) : Container(),
回调:
void _addPictureToGallery(String imagePath) {
this.setState(() {
this.imagePath = imagePath;
});
}
感谢您的帮助!