我想禁用一个按钮900ms(使用抖动)。我该怎么做?
if (isButtonDisabled == false) {
incrementCounter();
AudioPlayer().play(
AssetSource(
Assets.correct_answer_audio),
volume: 1.0);
_onTyping();
await Future.delayed(
const Duration(milliseconds: 900));
Navigator.of(context).pop();
);
}
2条答案
按热度按时间jljoyd4f1#
要禁用
ElevatedButton
,您需要在应该禁用null
时将其设置为onPressed
。然后通过Future.delayed
或Timer
启用它,方法是将enabled变量设置为true并调用setState
。您可以在Dartpad中检查此代码片段。mwecs4sa2#
Disabled Button
=〉onPressed : null
Active Button
=〉onPressed : (){}
在一定间隔后使用
Timer
,将isDisabledButton
设置为false
,默认情况下为true
示例:
前2秒:
2秒后: