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

回到顶部