Articles of 多点触控

Android 3手指触摸检测

我能够使用以下代码成功记录屏幕上触摸的两根手指的坐标: case MotionEvent.ACTION_MOVE: Log.d(“TOUCH”, “test ACTION MOVE” + event.getPointerCount()); Log.d(“TOUCH”, “test ACTION MOVE ID” + event.getPointerId(0) + ” “+event.getPointerId(1)); if(event.getPointerCount()==3) { x0 = (int) event.getX(event.getPointerId(0)); y0 = (int) event.getY(event.getPointerId(0)); x1 = (int) event.getX(event.getPointerId(1)); y1 = (int) event.getY(event.getPointerId(1)); x2 = (int) event.getX(event.getPointerId(2)); y2 = (int) event.getY(event.getPointerId(2)); Log.d(“TOUCH”, “test ACTION DOWN ” + ” values = ” […]

Android多点触控?

作为开发人员,我倾向于先编程,然后再进行研究。 我试图实现一个可以处理多个用户输入的屏幕。 基本上不只是一个手指映射。 我尝试了两件事…… 我有一个实现OnTouchListener的Activity类。 在这里,我有两个独立的子视图,将Activity添加为ontouch侦听器。 然后我有一个打印出来的事件,打印出event.getPointerCount()并打印出每个指针的位置。 将其下载到手机并进行测试。 我注意到指针从未超过两个。 我甚至注意到,如果一个手指放在一个孩子身上,另一个手指放在另一个孩子身上,那么事件只会发生在第一个子组件上。 接下来,我尝试在每个子组件上放置单独的侦听器,以查看它是否有效但操作相同。 因此,似乎android在处理来自触摸屏幕的用户的输入时仅支持总共两个用户输入。 这是真的? 从测试和研究来看,似乎就是这种情况。 有没有人遇到这个限制。 任何聪明的工作? 谢谢你的时间和回应。 DK

Android多点触控支持

我想知道Android多点触控支持是否可靠? 我读过它有一些问题。 我也想知道,如何定义自定义多点触控手势? 喜欢:3个手指旋转或3个手指保持静止,第4个手指移动。 我遇到过一些资源(developer.android.com上的Gestures或MotionEvent),但没有说明清楚。 问候, 兹德涅克

Android – 如何处理两个手指触摸

文档说明了这一点: 手势以ACTION_DOWN的动作事件开始,该动作事件提供第一个指针向下的位置。 当每个附加指针向下或向上时,框架将相应地生成带有ACTION_POINTER_DOWN或ACTION_POINTER_UP的运动事件。 所以我在我的活动中完成了onTouchEvent函数的覆盖: @Override public boolean onTouchEvent(MotionEvent MEvent) { motionaction = MEvent.getAction(); if(motionaction == MotionEvent.ACTION_DOWN) { System.out.println(“DEBUG MESSAGE POINTER1 ” + MEvent.getActionIndex() ); } if(motionaction == MotionEvent.ACTION_POINTER_DOWN) { System.out.println(“DEBUG MESSAGE POINTER2 ” + MEvent.getActionIndex() ); } } 不幸的是,第二个if永远不会输入。 该活动包含2个视图和2个OnTouchListener ,我知道只有当活动视图不消耗事件时才调用onTouchEvent ,所以我试图在监听器中返回false,这样我只能识别第一次手指触摸但是这样可以避免听众收到ACTION_UP事件,也不允许我识别第二次手指触摸。 我也试图在监听器中返回true,但是在手动调用onTouchEvent函数之后,这也让我只能识别第一个手指触摸。 我的代码有什么问题?

在我的应用上禁用多点触控

出于某些原因,我必须在我的应用程序上禁用多点触控function。 用户一次只能按一个按钮,否则应用程序会崩溃。 有没有办法实现这个要求? 非常感谢!

Android多点触控游戏

我目前正在制作一个游戏,用户通过屏幕左侧的屏幕操纵杆控制船只,并通过点击屏幕右侧进行点火。 但是,我对多点触控的尝试都没有成功。 当用户首先触摸操纵杆然后触发时,它完美地工作,但是当用户在发射时触摸操纵杆时,用户无法拖动操纵杆。 我仍然是新手android所以任何帮助将不胜感激。 我将粘贴下面的代码。 @Override public boolean onTouch(View v, MotionEvent event) { int action = event.getAction() & MotionEvent.ACTION_MASK; int pointerIndex=(event.getAction()&MotionEvent.ACTION_POINTER_ID_MASK) >>MotionEvent.ACTION_POINTER_ID_SHIFT; int pI = event.getPointerId(pointerIndex); //On screen joystick if(event.getX(pI)0&&event.getY(pI)(screenHeight-(0.42*screenHeight))){ sx2=event.getX(pI)-(stick.getWidth()/2); sy2=event.getY(pI); angle=(Math.atan2((sy2-sy),(sx2-sx))); } //firing system if(event.getX(pI)>screenWidth/3){ switch(action){ case MotionEvent.ACTION_DOWN: incrementRunnable.run(); break; case MotionEvent.ACTION_POINTER_DOWN: incrementRunnable.run(); break; case MotionEvent.ACTION_UP: handler.removeCallbacks(incrementRunnable); break; case MotionEvent.ACTION_POINTER_UP: handler.removeCallbacks(incrementRunnable); break; } […]

自定义textview旋转,放大,缩小和在Android中触摸移动?

任何好友都有自定义文本视图,包括旋转,放大,缩小和移动function,如MutiTouch Image View,如http://judepereira.com/blog/multi-touch-in-android-translate-scale-and-rotate/ in的android? 我想完全喜欢这个屏幕截图。 1.在该屏幕中绘制简单文本。 2.在该屏幕中,我缩放此视图文本自动换行。 3.在该屏幕中,在视图上移动文本。 4.在该屏幕中旋转文本。 这一切function都在TextView touch上完成。

以编程方式查找多点触控Android设备支持的手指数量

在Android上,可以通过http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_TOUCHSCREEN_MULTITOUCH以编程方式检查设备是否支持多点触控。 是否也可以准确检查设备在多点触控中可识别的手指数量? 例如,据我所知,从2.x开始支持双指多点触控,但从4.0开始支持3指多点触控。 但是我们的客户报告说有一些带有4.x的新设备仍然不支持3个手指,这使得对Android操作系统版本的简单检查毫无用处。 一种可能的解决方案是在每个设备的某些字典中存储它支持的手指数量最多,但是有1k +设备在那里,而新的设备不断出现它是不可行的。 有解决方案吗 编辑:事实上我刚刚发现客户报告的问题是HTC One系列的设备问题。 请参阅http://www.mobiflip.de/htc-one-serie-multitouch-beschraenkung-aufheben-tipp/用户必须在设置中更改设备特定的手势识别才能使5个手指正常工作。 因此,该设备甚至可能显示5个以上的手指支持。 我想我们只会检查设备的型号并显示特殊的popup窗口,告诉用户关闭HTC特定的设置。

Android多点触控:ACTION_UP并不总是被调用?

我开发了一个在视图中处理多点触控的Android应用程序。 我基本上跟踪可能出现的几个MotionEvent,如ACTION_UP,ACTION_MOVE,…我在View类中覆盖的onTouch方法如下所示: public boolean onTouch(View view, MotionEvent event) { int action = event.getAction() & MotionEvent.ACTION_MASK; if (action == MotionEvent.ACTION_DOWN) { float x = event.getX(); handleTouchStart(view, x); } else if (action == MotionEvent.ACTION_UP) { float x = event.getX(); handleTouchEnded(view, x); } else if (action == MotionEvent.ACTION_POINTER_DOWN) { int pointer = (event.getAction() & MotionEvent.ACTION_POINTER_ID_MASK) >> MotionEvent.ACTION_POINTER_ID_SHIFT; float […]

如何在Android中实现双指双击?

我知道如何检测双击和双指触摸事件,但我怎样才能将这些结合起来做出反应,这样有人需要用两根手指双击? 默认情况下,Android有长按作为第二种点击forms,但我特意寻找双指双击。