我有一个GestureDetector自定义的无状态视图。当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,), ),