相关疑难解决方法(0)

如何区分onTouchEvent()中的move和click?

在我的应用程序中,我需要处理移动和单击事件.

单击是一个ACTION_DOWN操作的序列,几个ACTION_MOVE操作和一个ACTION_UP操作.理论上,如果您获得ACTION_DOWN事件然后获得ACTION_UP事件 - 这意味着用户刚刚单击了您的视图.

但实际上,这个序列在某些设备上不起作用.在我的三星Galaxy Gio上,只需单击我的视图:ACTION_DOWN,几次ACTION_MOVE,然后ACTION_UP即可获得此类序列.即我使用ACTION_MOVE动作代码获得了一些无法预料的OnTouchEvent激活.我从未(或几乎从不)获得序列ACTION_DOWN - > ACTION_UP.

我也不能使用OnClickListener,因为它没有给出点击的位置.那么如何检测点击事件并将其与移动区分开来呢?

android event-handling touch-event android-event

70
推荐指数
6
解决办法
4万
查看次数

是否有可能使基于 android webview 的应用程序在将点击解释为小拖动时不那么敏感?

我有一个 C# Xamarin android应用程序,它在webview中托管了一个 reactjs 应用程序。

在触摸屏安卓设备上使用此应用程序时,偶尔点击屏幕似乎会被忽略。

似乎正在发生的事情是,点击被解释为一个迷你拖动事件,因为点击中有一些小的定向移动。

查看android日志,对于失败的点击,我注意到输出如下:

adb -d logcat -s CustomFrequencyManagerService

06-19 13:35:49.225  2945  9989 D CustomFrequencyManagerService: acquireDVFSLockLocked : type : DVFS_MIN_LIMIT  frequency : 839000  uid : 1000  pid : 2945  pkgName : GESTURE_DETECTED@CPU_MIN@49
06-19 13:35:49.781  2945  2945 D CustomFrequencyManagerService: releaseDVFSLockLocked : Getting Lock type frm List : DVFS_MIN_LIMIT  frequency : 839000  uid : 1000  pid : 2945  tag : GESTURE_DETECTED@CPU_MIN@49
Run Code Online (Sandbox Code Playgroud)

请注意GESTURE_DETECTED日志条目的部分。

但是对于成功的点击,CustomFrequencyManagerService 在日志中没有输出。

reactjs应用程序的角度来看:

我注意到失败的水龙头会发出以下事件:

touchstart
touchend …
Run Code Online (Sandbox Code Playgroud)

android touch webview xamarin reactjs

7
推荐指数
1
解决办法
294
查看次数