我有一个InkWell,我希望在用户按下它时(onLongPress),执行一些音频查找,但是您知道onLongPress只会触发一次。
例如,我想要用户将其按住2秒,则触发4次(每按住500毫秒,持续一些时间)。 我为onLongPress实现的功能如下:
_timer = Timer.periodic(
const Duration(seconds: 2),
(Timer timer) {
// seek operation
}
但是我的问题是,当用户将按钮移开时如何通知? 有必要取消_timer,因为如果不取消它,则搜索操作功能将永远执行。
答案 0 :(得分:1)
使用GestureDetector的onLongPressUp
事件来检测longPressed的释放时间,
GestureDetector(
onTap: () => print('tapped!'),
onLongPressUp: (){
//long press released
},
),