当用户在LongPress上移回墨水池时如何通知?

时间:2019-11-30 09:58:44

标签: flutter dart

我有一个InkWell,我希望在用户按下它时(onLongPress),执行一些音频查找,但是您知道onLongPress只会触发一次。

例如,我想要用户将其按住2秒,则触发4次(每按住500毫秒,持续一些时间)。 我为onLongPress实现的功能如下:

_timer = Timer.periodic(
  const Duration(seconds: 2),
  (Timer timer) {
                   // seek operation
                }

但是我的问题是,当用户将按钮移开时如何通知? 有必要取消_timer,因为如果不取消它,则搜索操作功能将永远执行。

1 个答案:

答案 0 :(得分:1)

使用GestureDetectoronLongPressUp事件来检测longPressed的释放时间,

        GestureDetector(
          onTap: () => print('tapped!'),
          onLongPressUp: (){
            //long press released
          },
        ),