Flutter:image.file未显示

问题描述 投票:0回答:1

我使用系统中的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);
});

获取文件到列表photoList

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(() {});
}

刷新UI

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

dart flutter flutter-layout
1个回答
0
投票

你能给出扑动医生的结果吗? 你可以包装你的形象。 带容器的文件? 这是一个例子。

child: Container(
  decoration: BoxDecoration(color: Colors.teal),
  child: Padding(
    padding: const EdgeInsets.all(8.0),
    child: Image.file(
© www.soinside.com 2019 - 2024. All rights reserved.