问题标签 [android-touch-event]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
148 浏览

android - 从父级到子级的 Android 触摸事件调度

我有一个父视图组,里面有一个子视图。我注意到触摸事件期间的一些行为与我关于如何调度触摸事件的心理模型不同。

视图组 A 占据整个屏幕,视图 B 以编程方式添加到 A(使用 A.addView(B))并且仅占据屏幕的一部分。对于 A 和 BI 都覆盖 onTouchEvent(MotionEvent event) 方法,但仅此而已。

如果我将手指触摸到屏幕并在视图 B 的范围内抬起它,我注意到触摸事件直接路由到 B 的 onTouchEvent() 方法,而没有点击 A 的 onTouchEvent() 方法。B 接收 DOWN、MOVE 和 UP 动作,并为每个动作返回 true。

如果然后我用手指触摸屏幕并在 Viewgroup A 的范围内但在 View B 的范围之外抬起,那么我看到的行为违反了我关于如何调度触摸事件的心理模型。当我这样做时,视图 B 再次在其 onTouchEvent() 中接收到 DOWN、MOVE 和 UP 操作,即使 B 没有被点击。我本来希望 A 收到这些动作。如果我然后用我的手指做完全相同的动作(在 A 内部但在 B 外部触摸和抬起),那么 A 的 onTouchEvent() 会按预期接收 DOWN、MOVE 和 UP 动作。

就好像在其中一个 View 接收到触摸事件后,系统将其设置为接收下一次触摸,而不管触摸的位置如何。

有什么基本的我不明白吗?

此外,我的一个资源提到我需要在我的视图组/视图中手动管理命中测试,以确定视图组何时收到命中,是否应该将命中分派给孩子。这对我来说是有道理的,但是,在我提到的第一种情况下,系统似乎已经为我做到了,因为点击会自动发送给孩子。哪个是正确的做法,让系统处理还是自己处理命中逻辑?

我使用这些资源让我走到了这一步,但它们似乎没有明确涵盖这一点:

http://codetheory.in/understanding-android-input-touch-events/ https://guides.codepath.com/android/Gestures-and-Touch-Events

0 投票
2 回答
377 浏览

android - 如何检查触摸事件是在android中的区域之外还是在区域内

我有一个篮球场或任何其他球场的图像,我想检查用户是否检查了 3 点区域的外部或内部,我该如何实现?我应该使用 x,y 的预定义点吗?

在此处输入图像描述

0 投票
2 回答
669 浏览

android - 如何在Android中获取不同设备和密度上的图像视图的x,y坐标

我是新手,所以..如果我在不同的设备上有一个图像视图 10' 平板电脑 7' 平板电脑和一个 5' 的移动设备具有不同的密度。

我将如何通过触摸事件获得相应的 x,y 这里的“规则”是什么?

谢谢你

例如,当触摸图像视图上的花瓣时,图像是一朵花,x,y 的位置在所有密度和大小中都相同吗?

0 投票
0 回答
48 浏览

android - 如何确定Android中具有弧形和矩形的图像视图上的触摸事件坐标

我有以下形状图像

在此处输入图像描述

当我触摸蓝色区域或不在我的图像视图中时,我想验证我的触摸事件。我需要将圆弧和矩形组合为一个并验证触摸事件的坐标吗?

如果它是一个圆圈,我会使用它

0 投票
1 回答
611 浏览

android - 如何在 Android 中使用 Touch 事件从像素中获取 ImageView 的颜色

我有两种颜色的 ImageView 源。我想触摸一种颜色并显示一条消息。我已经完成了以下操作,但有些事情进展不顺利,因为也许我使用了 getDrawingCache 方法,它在显示正确消息时有延迟..

还有我的触摸事件

除了上述之外,我不确定是否需要 ViewTreeObserver

0 投票
1 回答
202 浏览

android - 如何计算我在Android中使用touchevent在屏幕上移动手指的次数

我想计算并在 textView 上显示我在屏幕上移动手指的次数我使用了以下但它计算坐标改变了多少次

0 投票
0 回答
33 浏览

android - 如何在 Android 中拥有带有 TouchListener 和 Doubletap Listener 的 ImageView

我有一个带有简单触摸监听器的 imageView,它在 ACTION.UP 上获取位图像素的颜色。

同时,我希望能够在 imageView 内双击并执行其他操作,例如打开对话框。

我如何实现和结合它?

0 投票
1 回答
426 浏览

android - 使用 onTouchEvent 仅处理水平移动

我在布局中覆盖 onTouchEvent,并且只想处理水平移动。

即,如果发生向左滑动的右侧,那么我将显示下一个/上一个帖子,如果发生任何垂直移动,那么我不会做任何事情,并且会发生父滚动。

我怎样才能做到这一点?

0 投票
2 回答
5687 浏览

android - Android 更改回收站视图列号。在捏缩放

我在我的布局回收器视图中有画廊应用程序。

我想合并一个捏触摸事件侦听器,以便回收器视图列号。在进出时增加或减少。

我在许多图库应用程序中都看到过这种类型的界面。

实现这一目标的最佳方法是什么,以便顺利过渡。

小视频链接:- http://sendvid.com/s68fiqpd

我尝试使用以下代码(由@Yogesh Rathi 提供),但结果不是我想要实现的。

谢谢

0 投票
2 回答
1116 浏览

android - 当指针位于多个视图上时,如何获取指针的总数?

当多个指针位于不同的视图上时,如何获取屏幕上的指针总数?我在屏幕上有多个视图,如果指针不在视图的相关区域,视图将falseON_DOWN.onTouchEvent

当第一根手指在一个视图上并且第二根手指触摸另一个视图时,两个视图都将为getPointerCount方法返回“1”。无论哪个视图处理指针的触摸,有什么方法可以在整个屏幕上获得总指针计数?

编辑: Views不在同一个 parentViewGroup中,这就是为什么onInterceptTouch不返回总指针计数的原因。我可以onInterceptTouch非常root ViewGroup,但是我希望Android能够在没有像这样的肮脏解决方法的情况下给出指针总数。