我使用系统中的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'
我该怎么做才能确保显示所有图片?
你能给出扑动医生的结果吗? 你可以包装你的形象。 带容器的文件? 这是一个例子。
child: Container(
decoration: BoxDecoration(color: Colors.teal),
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Image.file(