показывать диалог при долгом нажатии и выдвигать его при нажатии - PullRequest
0 голосов
/ 27 марта 2019

Я хочу показать диалоговое окно, когда пользователь долго нажимал на элемент, и выдвигать его, когда палец вверх, но оно не может обнаружить касание.

Я помещаю диалог в другой GestureDetector и использую его свойство onTapUp для всплывающего диалога.

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

Я ожидаю всплывающее диалоговое окно после того, как палец после долгого нажатия.

1 Ответ

0 голосов
/ 27 марта 2019

Попробуйте сделать способ открыть диалог.я предоставляю код диалога оповещения ..

 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,
          ),
...