我在自定义的无状态视图中有一个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之前,我希望禁用它几秒钟。
发布于 2019-04-06 09:02:11
创建一个bool标志并定义一个方法:
bool _enabled = true; 
void _onTap () {
  // Disable GestureDetector's 'onTap' property.  
  setState(() => _enabled = false);
  
  // Enable it after 1s.
  Timer(Duration(seconds: 1), () => setState(() => _enabled = true));
  
  // Rest of your code...          
}使用:
GestureDetector(
  onTap: _enabled ? _onTap: null,
  child: Icon(Icons.content_copy),
)https://stackoverflow.com/questions/55547443
复制相似问题