我想在用户长按某个项目时显示一个对话框,而在手指向上但无法检测到点击时将其弹出。
我将对话框放在另一个GestureDetector上,并使用其onTapUp属性弹出对话框。
GestureDetector(
child: studentIcon(index, context),
onLongPress: () {
showDialog(
context: context,
builder: (context) {
return GestureDetector(
onTapUp: (detail) {
Navigator.pop(context);
},
child: DialogDetail(
index: index,
),
);
});
},
我希望在长按手指后弹出对话框。
答案 0 :(得分:0)
尝试使方法打开对话框。我提供警报对话框代码。
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,
),
答案 1 :(得分:0)
您不能这样做,因为 context
中存在 GestureDetector
问题。
请按照this的回答来实现这个东西。