长按显示对话框,手指向上弹出

show dialog when long pressed and pop it when finger up

我想在用户长按某个项目时显示一个对话框,并在手指抬起时弹出对话框,但无法检测到点击。

我将对话框放在另一个 GestureDetector 上并使用它的 onTapUp 属性 来弹出对话框。

GestureDetector(
 child: studentIcon(index, context),
 onLongPress: () {
   showDialog(
       context: context,
       builder: (context) {
         return GestureDetector(
           onTapUp: (detail) {
             Navigator.pop(context);
           },
           child: DialogDetail(
             index: index,
           ),
         );
       });
 },

我希望在长按手指后弹出对话框。

尝试创建打开对话框的方法。我提供警报对话框代码..

 void _showText(BuildContext context) {
   showDialog(
    context: context,
    barrierDismissible: false,
    builder: (context) {
      return AlertDialog(
        content: Text(
            "User name :${nameEditText.text} \nPassword : ${passwordEditText.text}"),
        actions: <Widget>[
          new FlatButton(
              onPressed: () {
                Navigator.of(context).pop();
              },
              child: new Text("OK"))
        ],
      );
    });
   }
   }

点击按钮后调用..

     child: RaisedButton(
            padding: EdgeInsets.all(15.0),
            onPressed: () {
             _showText(context);
            },
            child: Text(
              "Submit",
              style: TextStyle(fontSize: 15, color: Colors.white),
            ),
            color: Colors.blue,
          ),

您不能这样做,因为 GestureDetector 中存在 context 问题。 请按照 答案来实现这个东西。