gpt4 book ai didi

flutter - 如果使用 onDoubleTap,InkWell 效果会延迟启动;想要在小部件被触摸时立即触发

转载 作者:行者123 更新时间:2023-12-04 10:12:49 41 4
gpt4 key购买 nike

如果您正在使用 onTap & onDoubleTapInkWell 并排,然后单击会延迟(300 毫秒)。我知道识别双击需要时间,但效果也会延迟,这是一种糟糕的用户交互感觉。

我试过的:
我发现,InkWell一旦调用任何点击事件回调,效果就会开始。如果我使用 onTap单独,回调和效果在第一次触摸时立即启动;如果我使用 onTaponDoubleTap ,效果延迟。

我也尝试使用 onTapDown ,但这也会被延迟(可能是错误?)

child: InkWell(
onTap: () { print("Tap"); }, // gets delayed 300ms
onDoubleTap: () { print("Double Tap"); },
onTapDown: (x) { print("Tap Down"); } // gets delayed 300ms
}

所以我的问题:
是否可以更改 InkWell (GestureDetector) 以立即开始效果。我认为解决方案可能是改变 onTapDown 行为;如果用户触摸小部件,则应立即调用此方法。

最佳答案

我现在找到了一个简单的 解决方案 .我只使用 onTap InkWell的功能并写了 onDoubleTap算法我自己。所以飞溅效果立即运行,因为原来的onDoubleTap没有使用。 tap 函数本身会延迟(因为使用原始 onDoubleTap 函数也会延迟)。

Pup.dev 包
我写了一个名为 InkWellSplash 的 pub.dev 包.除了飞溅功能之外,您现在还可以调整两次点击之间的最长时间以识别双击。

我很确定这个包会派上用场,对几个开发人员很有用

友情链接

Pub.dev - InklWellSplash

GitHub - InkWellSplash

Interactive Example

关于flutter - 如果使用 onDoubleTap,InkWell 效果会延迟启动;想要在小部件被触摸时立即触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61236928/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com