长按显示对话框,手指向上弹出
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
问题。
请按照 答案来实现这个东西。
我想在用户长按某个项目时显示一个对话框,并在手指抬起时弹出对话框,但无法检测到点击。
我将对话框放在另一个 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
问题。
请按照