gpt4 book ai didi

android - 在屏幕上滑动手指激活按钮,就好像它们被按下一样

转载 作者:太空宇宙 更新时间:2023-11-03 13:05:25 24 4
gpt4 key购买 nike

如果我的标题不够清楚,我会详细解释:

假设我们有一个充满多个按钮(超过 10 个)的屏幕,我们按下一个按钮,激活 onTouch/onClick。如果我们现在移动手指而不抬起它,我希望它激活它滑过的任何其他按钮。在这种特殊情况下,我希望在您滑过虚拟钢琴时播放声音。

我知道 onTouchListener 解决方案,您可以在其中注册每个 ACTION_MOVE 并找到一些激活新事件的边界,但如果您有多个按钮并希望无延迟地平滑滑动,这远非最佳选择。

我还读了this thread这建议我们将 View 的 touchListener 与 Activity 中的 gesturelistener 结合起来,但再一次,这对我的情况来说并不是最佳选择。

我还没有尝试将 touchlistener 与 gesturelistener 结合使用,但如果有人告诉我他们没有其他方法,我会继续这样做。

最佳答案

在我看来,这样做的正确方法是忘记按钮,并创建一个绘制整个键盘的自定义 View 。在此 View 中,您可以按照自己喜欢的方式处理触摸事件。您甚至不需要手势检测器,只需分析运动事件的 Action 和坐标,非常简单。

我不明白您所说的 ACTION_MOVE 和延迟是什么意思。为了最小化延迟,对 ACTION_DOWN 使用react,如果它在按下状态时悬停在其他键上,然后对 ACTION_MOVE 使用react。没有比这更快的了。对于按钮,有一个重要的延迟,因为当用户在 ACTION_UP 上抬起手指时会触发 onClick() 事件。

按钮并不像您描述的那样工作。这个想法是,如果用户点击一个按钮然后同时将他的手指移开,它不会触发周围其他 View 的 onClick 事件。这可以防止虚假点击。

关于android - 在屏幕上滑动手指激活按钮,就好像它们被按下一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5597592/

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