问题标签 [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 投票
2 回答
1963 浏览

android - 在 Android 画布上应用缩放效果后缩放位置错误

首先,这是最初在这里提出的后续问题,Pan, Zoom and Scale a custom View for Canvas drawing in Android

由于还没有答案,我终于使用android-gesture-detectors解决了我的问题

应用缩放/缩放手势后,我发现画布绘图坐标仍指向旧位置(在应用缩放之前),而不是在完全相同的触摸坐标上绘图。基本上,缩放或拖动画布后,我无法获得正确的画布坐标。

缩放前,

在此处输入图像描述

缩小后,触摸点将绘制在先前的位置上。我希望它在当前的触摸位置上绘制,

在此处输入图像描述

示例代码,

PS: MoveGestureDetector() , ScaleGestureDetector() & RotateGestureDetector()是继承自android-gesture-detectors的自定义类

0 投票
1 回答
518 浏览

android - 如何将 touchevent 从 popupwindow 分派到其子列表视图

当用户在编辑文本上键入时,我使用 PopupWindow 来显示一些建议。在弹出窗口中,我有一个显示建议的列表视图。我无法使用 ListpopupWindow,因为它覆盖了键盘,因此用户无法在弹出窗口显示时继续输入。

为了让用户继续输入,我必须 setFocusable(false);在我的弹出窗口上。这样做的问题是,由于窗口不可聚焦,因此无法单击任何建议。如果我让它成为焦点,用户将无法继续输入,因为焦点将从编辑文本移到弹出窗口。因此我必须为弹出窗口设置一个触摸监听器并以编程方式执行点击。

如何拦截 PopupWindow touchevent 并单击 listview 项目?我尝试使用下面的代码片段,但它从未奏效

0 投票
1 回答
42 浏览

android - OnClickListener 是否考虑了视图的缩放因子?

我有一个CustomLayout扩展TableLayout并包含LinearLayout行子级的视图,每个子级都包含一个RelativeLayout单元格(每个单独的单元格都有一个OnClickListener)。CustomLayout也有一个礼物,ScaleGestureDetector并支持在 X/Y 轴上滚动/拖动。当缩放因子为 1(无缩放)时,一切都很好。

问题是每个单元格似乎OnClickListener都没有考虑到缩放因子CustomLayout,因此它是自己的单元格缩放比例。因此,如果缩放为 2 倍并且您单击现在更大的单元格,您实际上是单击了之前缩放级别的另一个较小单元格的触摸目标。

我不知道这是否是设计使然(我试图找到一些关于这个问题的文档,但没有找到任何东西)。关于这个问题的任何输入/想法?我知道总是有可能通过监听触摸事件并将触摸事件位置映射到现在放大/更大的单元格来ClickListener手动实现。CustomLayout但我想知道是否可以使用默认值OnClickListener来获得更简单、更清洁的方法。

0 投票
2 回答
6008 浏览

android - Android Espresso 如何执行触摸事件

如何使用简单的触摸事件(例如ACTION_DOWN和)测试视图ACTION_MOVE

0 投票
2 回答
395 浏览

android - Android OnTouchEvent 和 onclick 事件

我正在开发一个应用程序,其中包含几个片段,如下图所示:

图片1

底视图是MainActivity,上面有几个片段 MainActivity,可能包含按钮。我想在顶部添加一个片段以收听OnTouchEvents(手势),但忽略onclick事件并将事件传递onclick给下面的片段。

以下是我的问题,

  1. 如何区分代码中onTouchEventonclick事件?
  2. 如何将onclick事件传递给下面的片段?
    我看到有人建议使用onInterceptTouchEvent(),但我不确定这是否适用于我的情况,我不太了解如何使用onInterceptTouchEvent()

更新:
我试图重写boolean dispatchTouchEvent(MotionEvent ev)以使顶部片段忽略点击事件,但是由于第一个触摸事件必须是MotionEvent.ACTION_DOWN,我似乎无法确定触摸事件是否为点击。

那么,还有其他方法可以做到这一点吗?

0 投票
1 回答
616 浏览

android - Android - 当单选按钮的 ontouch() 方法设置为 true 时会发生什么

我试图围绕Android如何处理触摸事件而陷入困境,对此我感到困惑。据我所知,如果onTouch()视图元素的事件设置为true,则意味着该元素已准备好处理该触摸事件,即它消耗了触摸事件。
如果是这样,在下面的代码片段中,在运行后,锁定,当它返回 true 时,不允许我们更改无线电组的选择
我确定是因为我不太熟悉 android 触摸事件的方式工作。有人可以为我正确总结一下。并解释为什么返回true事件onTouch()会阻止我们选择新项目。

活动的 XML 文件

请注意,此代码片段来自Dave Smith名为Custom Touch Examples的项目

0 投票
4 回答
753 浏览

android - 以编程方式触发 ACTION_POINTER_DOWN 事件

想要触发on two fingers down事件几毫秒。

我可以使用以下代码触发简单的触摸事件:

现在,如果我尝试对 ACTION_POINTER_DOWN 做同样的事情,什么都不会发生。这是我的代码:

我想触发当用户将两根手指向下并在那里按住手指几毫秒时调用的相同事件。

0 投票
1 回答
29 浏览

android-touch-event - 如何获取应用程序内外触摸的触摸坐标?

我正在构建一个应用程序,该应用程序需要获取在我的应用程序内部和外部单击的任何部分的屏幕坐标。此外,如果可能的话,它可能会提供有关触摸事件中涉及多少指针的信息。我的设备已植根。

0 投票
3 回答
229 浏览

android - 我可以访问其基本活动中的片段的资源或视图吗

我有一个基础活动,其中我膨胀了 4 个片段。我有几种方法必须在所有片段中使用。但我不希望那样。我想在我的基本活动中实现该方法,以便我可以将我的方法重用于所有片段。我想使用片段的每个父布局的 onTouchListener 事件。我可以通过 xml onClick 方法实现这一点,并且可以在 baseActivity 中调用此方法,但我想使用 onTouch 事件,该方法在布局 xml 中不可用。所以我只想从我的基本活动中的片段布局访问资源并在基本活动中实现 TouchEvent。

可能吗。??任何帮助表示赞赏..谢谢!

0 投票
0 回答
917 浏览

android - Android 速度跟踪器给出错误的速度值

我正在编写一个应用程序,其中包含一个像facebook 聊天头这样的元素,它可以使用手指在屏幕上自由移动。我试图找出视图的速度,以便在调用 ACTION_UP 后确定视图的最终位置。问题是速度跟踪器返回的速度有时是正确的,但有一半是错误的。

很多时候,当我尝试将聊天头向右扔时,它会给出一个负的 x 速度,这是一种不稳定的行为。所以我进入了手机的开发者设置并激活了指针位置选项。现在在手机的顶部,在状态栏的顶部,显示的'Xv'值总是正确的,但是用androidVelocityTracker测量的X速度的打印日志仍然不稳定。

这是我的代码:

请让我知道我是否犯了一些错误或什么?或者有没有其他方法可以获得正确的速度。

提前致谢!