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

android - 触摸图像视图不起作用

我制作了一个简单的应用程序,其中使用了 3 个选项卡。每个选项卡都有单独的classeslayouts。第一个选项卡显示地图。第二个选项卡将显示用户可以从中拍照的相机,第三个选项卡关闭 图片在GridView. 所有选项卡都运行良好。现在我想要的是ImageView当用户点击任何图像时显示完整。

对于所有这一切,我正在使用本教程。所以我遵循了它的每一步,事情进展顺利。但是完整ImageView的代码不起作用。

下面是我的图片Fragment

图片.java

现在对于全屏视图,我制作了一个新Activity的两个单独Layouts的屏幕和图像,如下所示

全屏.xml

全屏图像.xml

现在我创建了一个Adapter

FullScreenImageAdapter.java

现在全屏Activity

FullScreenViewActivity.java

现在,当我单击任何图像时,什么都没有发生,我没有任何错误logcat,没有任何警告,也没有任何应用程序崩溃。

我已经调试了该应用程序,但它并没有达到这一点。

我被困住了,不知道该怎么办

任何帮助将不胜感激。

0 投票
1 回答
2064 浏览

android - 如何为视图设置运动监听器

我必须倾听特定视图的位置变化。视图可以在任何地方,例如,它可以是列表视图或回收器视图的一个项目,或者它可以是滚动视图或嵌套滚动视图等的子视图。但是每当视图在屏幕中的位置发生更改时(只要x,y 坐标正在更新),我需要得到通知。我试过了

但似乎不起作用

我也试过GestureDetectorCompat,但在投掷期间,x,y 位置不准确。

我的问题有什么解决方案吗?希望我的问题很清楚。提前致谢!!

0 投票
2 回答
1705 浏览

java - RecyclerView 投掷和项目点击

我有一个RecyclerView项目网格。单击一个项目后,它会突出显示。
我还希望当用户向右滑动时调用“下一个”方法,当用户向左滑动时调用“上一个”方法。
然而,两者并没有相互配合,因为每个人都拦截了对方的事件。
我如何让他们一起工作?

这是我的代码:

RecyclerView 适配器

包含 RecyclerView 的片段

因为我放入return false了 OnTouch 事件,所以会触发项目的单击事件。但是,MouseDown 事件不会在 OnTouch 中触发,从而阻止了向后滑动检测(因为 x1 始终为 0)。

0 投票
0 回答
80 浏览

android - 不能让 ViewPager 和 ScrollView 一起工作

我有自定义的自定义 ViewPager,其中包含带有 ScrollView 的片段。在某些情况下我需要禁用 ViewPager,所以我在 onTouchEvent 和 onInterceptTouchEvent 方法中实现了它:

只要 isEnabled 为 false,ScrollView 就可以正常工作。但是当它为真时,ScrollView 被禁用并且所有的触摸事件只影响 ViewPager。

我试图区分 onInterceptTouchEvent 中的垂直和水平移动事件,但日志看起来像:

所以我不能在 onInterceptTouchEvent 中做到这一点,也无法从 OnTouchEvent 到达 ScrollView。

启用 ViewPager 后,我可以做些什么来使 ScrollView 和 ViewPager 一起工作?

片段.xml:

活动.xml:

0 投票
0 回答
239 浏览

android-viewpager - 如果事件未滚动 View Pager,如何将触摸事件传递给父视图

我的视图寻呼机位于 CoordinatorLayout

如果触摸事件没有对 ViewPager 进行任何滚动(水平滚动),我想将该事件传递给 RelativeLayout。

0 投票
0 回答
1131 浏览

javascript - touchEvent.touches.length 在 Android 上总是返回 1

这是我第一次处理触摸设备,为了在我的网站/webapp 中实现一些基本功能,我需要管理触摸事件。

在我的应用程序流程中,在动态创建了一个 div 之后,我附加了一个 touchstart 事件,该事件调用了一个函数,我希望在该函数中根据同时触摸的数量来管理不同的任务:为了做到这一点,我想使用 touchEvent .changedTouches.length 属性
https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent/changedTouches)。

我有这样的事情:

当我在 Ios(iPad 2)上使用 Safari 运行它时,如果我用一个、两个(或更多 - 直到 9 个)手指触摸它,我会从警报语句中得到正确的手指数量,并且然后应用程序正确运行,如果我做了两指触摸,进入开关盒:2。

但是当我使用 Android 设备时(我用三星和 NGM 品牌的手机测试它——无论是旧的还是最新的 Android 手机——或者是更新的 Firefox 和 Chrome)我总是在 touchstart 之后调用 alert()得到“1”事件,即使我使用不止一根手指;因此,路线总是在开关箱内:1 选项。

我发现这似乎是由于 touchEvent.touches 列表的奇怪行为。

事实上,如果我有以下代码

如果我用 2 个手指(同时或一个接一个)触摸表面,我总是会收到两个警报!

(当手指一个接一个地向下移动时,我也会收到第一个正确提示“1”的警报)...

第一个(在两根手指不同时触摸的情况下是第二个)提示“2”,但在关闭此警报后立即触发另一个提示“1”。

作为检查,我还尝试复制并粘贴可在此处找到的示例代码:

https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent/touches

添加三个提醒 e.touches.length 的函数,即

我总是得到“1”,所以它总是只被称为 handle_one_touch(e) 函数。

因此,我认为 changedTouches.length 属性始终为“1”。

有人知道在 Android 设备上是否存在关于此问题的已知问题和/或如何解决它?
提前谢谢你,费德里科

0 投票
0 回答
543 浏览

android - 第一个片段从 listview android 的第二个片段滚动中获取 onScroll 事件

我的应用程序中有两个片段在一个活动下。我的问题是当我使用 gridview 点击第一个片段移动到第二个片段时,我的第一个片段仍然从第二个片段滚动和触摸中获得触摸 onscroll 事件。这是代码片段:

第一个片段:

第二个片段:

第二个片段 XML 文件:

如何解决第一个片段上的预防触摸事件问题。我也在使用android:clickable="true"in XML,但它在这里不起作用。

0 投票
0 回答
58 浏览

android - 触摸一组或一行按钮android

首先,英语不是我的第一语言,但我会尽力而为。我是安卓新手。如图所示,如何用一根手指或一键发现三个或四个触摸按钮?

在此处输入图像描述

我创建了包含按钮的RelativeLayout,@Override onTouch Listener()。我在 Android 上阅读,但我不明白它是如何完成的。我需要一个具体的例子来了解如何一次从一组按钮中获取触摸事件。

0 投票
1 回答
1300 浏览

android - 找出哪个 View 消耗了触摸事件(如果有)

我正在对与视图相关的问题进行故障排除:单击侦听器在应该触发时未触发。经过长时间的反复试验,我发现父视图被禁用,因此将所有事件丢弃给它的子视图。

在 Android 中,有没有一种方法可以准确地找到将触摸或单击事件注入应用程序时发生的情况?比如它是如何分派的,它遍历了哪些视图,谁忽略了它(以及为什么),谁丢弃了它(以及为什么)以及最终谁消费了它。

理想情况下,应用程序中的每次点击都会在 Logcat 上发出某种低级转储。

0 投票
1 回答
1084 浏览

android - Android动画:如果条件不满足,如何随着手指平滑移动视图并移动到其初始位置

我想随着手指的移动平滑地移动视图,然后我想检查移动的距离,如果移动的距离小于预期的距离,那么我必须将视图移回其初始位置。

我进行了很多搜索,并找到了下面的代码,但这并没有按预期工作,当我触摸它时会显示两个视图并且不根据我的手指移动随意移动。

请帮助我如何才能正确解决这个问题。