问题标签 [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.
android - Android 为多个 ImageView 触发 onTouch 事件
我有几个 ImageView,当我在多个图像上拖动手指时,我希望为每个图像触发 onTouch 事件。目前 onTouch 事件仅在第一个 ImageView 上触发(或实际上在多个 ImageView 上但仅在多点触摸屏幕时触发)。伪代码:
我是在吠叫完全错误的树吗?
谢谢你的帮助。
android - 为什么 onTouch() 返回 false 时会产生 FATAL EXCEPTION?
我编写了一个简单的 MotionEvent 练习,其中我所做的就是记录事件的参数。我通过在主要活动中实现OnTouchListener并覆盖onTouch()来做到这一点。
对于一个按钮,我在 onTouch() 结束时返回true 。那里没有问题。
对于另一个按钮,我在 onTouch() 结束时返回false 。这就是有趣的地方。仅仅返回“false”,就会抛出一个 FATAL EXCEPTION 并带有一个我不太明白的小提示:“回收两次!”。
这是什么意思?
更新:根据下面评论中的建议,我正在从 LogCat 添加异常的详细信息:
android - 对触摸事件不敏感,只要屏幕不会重启
在切换到新活动后的某些 android 设备上,只要我关闭并打开屏幕,我就无法获得任何触摸事件。
我在 Xperia X10 和 Motorola Milestone 2 上注意到了这一点。启动第二个活动后,我无法按任何按钮,展开列表等等。但是,如果屏幕同时超时或者我关闭并打开,我可以这样做手动上它。
我的问题是...
什么会导致触摸事件不敏感?重新启动屏幕后会发生什么操作...
也许有了这些信息,我将能够找出我的问题在哪里。
iphone - UIScrollview 和子视图触摸事件管理
我有主wiev。我放置了一个 UIScrollView 对象作为主视图的子视图。我有一个来自 UIView 的扩展类,它管理触摸事件。此类模拟一种透明黑板,用户可以在其中绘制路径。我从 UIVIew 扩展类中创建了一个对象,并将其添加为 UIScrollView 的子视图。
我通过使用 Inspector 和 .xib 文件来执行此过程。
然后,没有触摸事件到达 UIScrollView 对象。无论我是否在检查器中取消选中我的 UIView 扩展类的“启用用户交互”复选框。我也尝试过:
或者
或者
或者
在我的扩展 UIView 类的 touchEvents 方法中。我还没有成功地将触摸事件传递给 UIScrollView。
另一方面,如果我以编程方式添加 scrollView 和我的扩展 UIView 类,保持相同的层次结构,UIScrollView 获取触摸事件,但不是它的子视图(我的 UIView 扩展类)。
我不希望 UIScrollView 和我的 UIView 扩展类同时管理触摸事件。我只想在 UIScrollView 和我的 UIView 扩展类之间切换以收听触摸事件,例如使用按钮。
在这种情况下,我正在解释,是否有可能选择哪个 UIScrollView 或我的 UIView 扩展类应该监听触摸事件?
android - Android OnGestureListener Fling 未检测到
我想检测屏幕块中的投掷运动。我为此使用以下代码。
它正在检测 TouchEvent,但没有检测到任何甩动动作。我的代码有什么问题?
ipad - 在 iOS MobileSafari 中防止默认按下而不是默认拖动?
上下文:MobileSafari/iPad 上的 Web 应用程序,全屏和嵌入 iframe
目标:为Press和Tap而不是 Pinch(缩放)或Drag(滚动/平移)提供自定义事件处理程序的技术。我们希望为 Press 提供自定义行为,但仍然让 Safari 处理 Scroll/Pan/Zoom。
问题:这两个目标似乎是相互排斥的。为了防止 Press 手势的默认行为,必须立即调用event.preventDefault以响应ontouchstart。但是,要让默认行为在 Drag 上继续进行,我们不能在初始 ontouchstart 上调用 event.preventDefault。一旦调用了 preventDefault,就无法在该手势序列期间恢复默认行为(即直到所有手指都松开)。在发生某些移动之前,无法识别拖动。
拖动是最简单的示例,但我们也关心获得捏合和双击的默认行为。我们从不想要“复制图像”或选择文本的默认 MobileSafari Press 行为。
迄今为止的尝试:
- 保存 ontouchstart 事件,并在timeout之后调用 preventDefault (就在 Press 被识别之前)。没有效果。
- 听“ oncontextmenu ”。不,默认的 Press 行为不会通过此事件发出信号或路由。
- 在我们所有的 ontouch* 处理程序中阻止默认设置,然后当我们识别到拖动/捏合手势时,使用initTouchEvent和/或initGestureEvent模拟新事件。以编程方式创建的事件会触发我们所有的回调,但 Safari 似乎没有注意到它们,不会触发任何默认行为。
- 用一个假动作破坏 Safari 的 Press 识别。Safari 会在最轻微的移动时取消按下,但我们允许有一点马虎。如果手指没有“真正”移动,则在 ontouchstart 之后模拟移动事件(如上)不会导致 Safari 无法识别 Press。
我们以 Apple原生 iOS 手势识别器的风格实现了一套功能齐全的手势识别器(在 Javascript,ontouch* 中)。我们识别任何手势都没有问题,我们只是不知道复制 Safari 免费提供的缩放/平移/双击行为的好方法。
我们不需要代码;我们正在寻找任何理论上的解决方案(除了“自己也可以实现平移/缩放”,但如果您有一种我们感兴趣的巧妙方法),可以带来合理的成功。我们也有兴趣了解其他类似的尝试——当然我们不可能是第一个尝试这个的人吗?
备用 TL;DR:除了在 touchstart 中,还有什么方法可以防止默认的 Press(也称为点击并按住)?
android - 禁用所有视图的触摸事件
禁用所有视图的触摸事件的最佳方法是什么?
android - 如何在android中拖动图像按钮
我ImageButton
在我的应用程序中使用 's。通过使用onTouch
事件,onTouchListener
我正在响应触摸事件。触摸事件完成后,我只是ImageButton
在目标位置显示。相反,我希望它看起来像拖动ImageButton
. 谁能指出我正确的方向。
android - OnTouch 位图叠加
我正在开发一个在屏幕上运行不同位图的游戏(SurfaceView)。由于它们的速度不同,有时会出现两个字符叠加在一起的情况,一个接一个。我使用 OnTouch 功能来捕捉玩家触摸角色的瞬间。但是,当两个字符叠加时,我总是“触摸”后面的一个,我从不触摸他前面的另一个。为什么?我怎样才能改变这种行为?因为我在摸前面的,所以我总是摸后面的,真的很烦人。我希望问题很清楚。
谢谢!
编辑:这是我的 OnTouchEvent 函数:
// 这里我有包含要显示的 chibis 的结构(一个向量)
//touched 是一个标志,表明之前是否触摸过赤壁
// 如果我触摸船位图(屏幕上的某处),赤壁将是安全的
java - 无法让 Mediaplayer 停止
我试图让 Android 媒体播放器停止在这个 onTouch 方法中播放声音,但它不会。相反,它将声音作为最后一个声音的补充,所以我可以听到它们重叠。如果我让它循环,循环就不会停止。即使我不使用 isPlaying 部分但插入并检查布尔值,它也不起作用。有什么建议吗?