颤振-拍照

时间:2018-09-25 12:42:29

标签: android ios dart flutter

当我想从图库中拍摄照片或自己制作照片时,点击GestureDetector时,会打开一个对话框,供我选择(the plugin)。但是我的问题是,当我单击对话框上的按钮之一时,对话框再次弹出,只有在此之后,才可以从相机或图库中拍照。 如果有人可以帮助我解决这个问题,那就太好了。

这是 GestureDetector

GestureDetector(
              child: Container(
                child: (_image == null
                  ? CircleAvatar(child: Icon(Icons.photo))
                  : FileImage(_image)
                )
              ),
              onTap: () async{
                switch(await dialogs.takePhoto(context)){
                  case "take":
                    getImage(ImageSource.camera);
                    break;
                  case "pick":
                    getImage(ImageSource.gallery);
                    break;
                }
              },
            )

呼叫dialogs.takePhoto(context)在这里结束:

takePhoto(BuildContext context){
  return showDialog(
      context: context,
      barrierDismissible: false,
      builder: (BuildContext ctxt){
        return AlertDialog(
          title: Text("Change Photo"),
          content: Container(
            child: Column(
              children: <Widget>[
                InkWell(
                  child: Text("Take photo"),
                  onTap: ()=> Navigator.pop(ctxt, "take"),
                ),
                InkWell(
                  child: Text("Pick photo"),
                  onTap: ()=> Navigator.pop(ctxt, "pick"),
                ),

              ],
            ),
          ),
          actions: <Widget>[
            FlatButton(
                child: Text(
                  "Abort"
                ),
                onPressed: ()=>Navigator.pop(ctxt),
            )
          ],
        );
      }
  );
}

这是一个示例:This is an example

谢谢!

解决方案

恰好在我单击“提交”按钮的那一刻找到了解决方案。问题是我调用该函数以两次XD拾取图像。

1 个答案:

答案 0 :(得分:0)

恰好在我单击“提交”按钮的那一刻找到了解决方案。问题是我调用该函数以两次XD拾取图像。