Android(Java)中没有事件的触摸位置

时间:2018-01-17 19:40:53

标签: java android touch

我正在开发一个模拟触控板的应用程序。 我需要在每个时间点获得准确的位置值,但使用事件不会起到作用。

由于动作事件 public T Common<T>(Func<T> action) { //do something log or watch try { return action(); } catch (Exception ex) { throw new Exception(ex.Message); } finally { } } public Int32 Run(string query) { //Set whatever type you want. Or extend generic parameters return Common<Int32>(() => { return 1; }); } “仅在我从调用ACTION_MOVE的位置移动一点时才开始”发送事件,所以该位置会在那里停留,直到我将手指移动远离起始位置位置。

此外,在阅读数据时,该位置最终会卡住一段时间。

以任何方式获得触摸位置势在必行,例如,类似于人们如何在Unity上做什么? (ACTION_DOWN

我使用的代码不能完成这项工作:

Touches[touchIndex].Position

1 个答案:

答案 0 :(得分:0)

无法轻易获得原始触控数据。 touchEvent是最好的方式。你得到延迟的原因是因为&#34; TOUCH_SLOP&#34;这是android用来确定手指移动是否足以触发事件广播的内容。没有方法可以调用来减少这个,所以你最好的选择是尝试扩展View并将mTouchSlop设置为零或小的东西,这将更频繁地触发触摸广播。点击此处了解更多信息:

Android ACTION_MOVE Threshold