颤振:未显示image.file

时间:2019-02-25 19:24:17

标签: dart flutter flutter-layout

我从系统中使用photo 0.2.0来获取照片,但是当我获取照片并刷新界面时,会出现空白。

代码:

PhotoPicker.pickAsset(
  context: context,
  // BuildContext required
  /// The following are optional parameters.
  themeColor: Colors.white,
  // the title color and bottom color
  padding: 4.0,
  //...
  //...
).then((List<AssetEntity> imgList) {
  //
  getPhotoFile(imgList);
});

将文件获取到列出照片列表

List<File> photoList = [];
getPhotoFile(List<AssetEntity> imgList) async {
  for (int i = 0; i < imgList.length; i++) {
    AssetEntity item = imgList[i];
    File tempFile = await item.file;
    photoList.add(tempFile);
  }
  setState(() {});
}

刷新界面

photoList.map<Widget>((File file) {
  return new FutureBuilder(
    future: _getLocalFile(file),
    builder: (BuildContext context, AsyncSnapshot<File> snapshot) {
      return snapshot.data != null ? new Image.file(snapshot.data) : new Container();
        })
          : new Container();
    });
}.toList();

Future<File> _getLocalFile(File file) async {
  return file;
}

我得到像

一样的file.path
'/private/var/mobile/Containers/Data/Application/543EEE91-BD94-4EA7-969C-A4E3320C4B93/tmp/.images/3609017ffc0170a5968fc9edbb44eb9c.jpg'

我该怎么做才能确保显示所有图片?

enter image description here

1 个答案:

答案 0 :(得分:0)

您能给出扑打医生-v的结果吗?
您可以用容器包装Image。
文件吗?
这是一个示例。

child: Container(
  decoration: BoxDecoration(color: Colors.teal),
  child: Padding(
    padding: const EdgeInsets.all(8.0),
    child: Image.file(