Flutter:如何在手势检测器中暂时禁用onTap?
我有一个GestureDetector
自定义的无状态视图。当onTap
触发我展示一个小吃店,其中显示一些信息。当用户快速单击多次时,它将永远显示小吃店。
源代码
GestureDetector( onTap: () {
Clipboard.setData(new ClipboardData(text: idText));
Scaffold.of(context).showSnackBar(SnackBar
(content: Text('ID copied')));
},
child: Icon(Icons.content_copy,),
}
我想禁用onTap
几秒钟,然后才能再次单击它。
回答:
您可以使用
bool _condition = true;//...
GestureDetector(
onTap: _condition
? () {
// making it false when onTap() is pressed and after 1 second we'll make it true
setState(() => _condition = false);
Timer(Duration(seconds: 1), () => setState(() => _condition = true));
// your implementation
}
: null, // disable onTap if condition is false
child: Icon(Icons.content_copy,),
),
以上是 Flutter:如何在手势检测器中暂时禁用onTap? 的全部内容, 来源链接: utcz.com/qa/409356.html