【发布时间】:2020-12-13 04:07:44
【问题描述】:
我想向 RawMaterialButton 类添加一个属性,这样当我按住按钮时,它会不断增加变量的值。就像我们长时间按下移动相机的拍摄按钮时,它会单击多次拍摄,直到我们离开按钮。关于如何做到这一点的任何想法?
【问题讨论】:
我想向 RawMaterialButton 类添加一个属性,这样当我按住按钮时,它会不断增加变量的值。就像我们长时间按下移动相机的拍摄按钮时,它会单击多次拍摄,直到我们离开按钮。关于如何做到这一点的任何想法?
【问题讨论】:
您可以将 GestureDetector 与计时器一起使用。当 onTapDown 事件触发时启动计时器。当 onTapUp 事件触发时停止计时器。使用 Timer.periodic() 计时器重复增加变量。有多个与此相关的问题,例如:auto-increment、button-on-hold 等。这是我为此构建的小部件中的 onTapDown 和 onTapUp 方法(我希望在重复操作之前有一个初始延迟,因此检查 timer.tick):
Timer _timer;
.
.
.
void _onTapDown() {
<on pressed action>
_timer = Timer.periodic(Duration(milliseconds: 200), (timer) {
if (timer.tick < 3) {
return;
}
if (widget == null) {
timer.cancel();
return;
}
<on pressed action>
});
}
void _onTapUp() {
if (_timer == null) {
return;
}
_timer.cancel();
}
【讨论】: