首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提供程序ImagePicker

提供程序ImagePicker
EN

Stack Overflow用户
提问于 2020-07-01 17:48:06
回答 1查看 160关注 0票数 0

在从图库中挑选图像时,我遇到了提供者的问题,因为它不会出现在UI中。

我试着用文本代替,它确实工作得很好。我想问题出在futureBuilder之类的

代码语言:javascript
复制
class ImageController extends ChangeNotifier {
   Future<File> _image;

   pickImageFromGallery(ImageSource source) {
       _image = ImagePicker.pickImage(source: source);
       NotificationListener();
   }

  Widget imageFromGallery() {

    return  FutureBuilder<File>(
     future: _image,
     builder: (BuildContext context, AsyncSnapshot<File> snapshot) {
       if (snapshot.connectionState == ConnectionState.done &&
           null != snapshot.data) {
         Utility.saveImageToPreferences(
             Utility.base64String(snapshot.data.readAsBytesSync()));
         return
          Image.file(
           snapshot.data,

         );
       } else if (null != snapshot.error) {
         return const Text(
           'Error Picking Image',
           textAlign: TextAlign.center,
         );
       } else {
         return const Text(
           'No Image Selected',
           textAlign: TextAlign.center,
         );
       }
      },
     );
  }
}

这就是我在另一个小工具中显示它的方式

代码语言:javascript
复制
Consumer<ImageController>(
                    builder: (context, image,child){
                    return  Provider.of<ImageController>(context).imageFromGallery();
                    },
                  ),
EN

回答 1

Stack Overflow用户

发布于 2020-07-01 18:10:15

使用者已经检索到了ImageControllerConsumer是使用构建器编写Provider.of以返回小部件的一种更好的方式。

代码语言:javascript
复制
Consumer<ImageController>(
  builder: (context, imageController, child){
    return  imageController.imageFromGallery();
  },
),
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62674104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档