Articles of 手势识别

在Android应用中使用DrawerLayout时手势不起作用

我有一个单一的活动Android应用程序。 此活动使用此布局: <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <!– The main content view –> <FrameLayout android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent" /> <!– The navigation drawer –> <ListView android:id="@+id/left_drawer" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:choiceMode="singleChoice" android:divider="@android:color/transparent" android:dividerHeight="0dp" android:background="#111"/> </android.support.v4.widget.DrawerLayout> 然后,在我的源文件中,我有两个在构造函数中定义的手势检测器: mDetector = new GestureDetectorCompat(this, new CustomGestureListener()); mScaleDetector = new ScaleGestureDetector(this, new CustomScaleGestureListener()); 而我正在重写onTouchEvent这种方式: @Override public boolean onTouchEvent(MotionEvent event) { if (event.getPointerCount() […]

用手势识别号码

我想通过编码来识别手势。 我已经认识到使用手势库。 有没有可能完美地识别数字? 请提供任何示例代码。

片段上的手势检测

我有一个Activity持有一个Fragment : getFragmentManager().beginTransaction().add(android.R.id.content, fragment1).commit(); 我的问题是,我如何检测手势? 我用OnTouchListener尝试,也用onInterceptTouchEvent方法。 基本上我想要检测刷卡。 我的SwipeGestureDetector看起来像这样: public class SwipeGestureDetector extends SimpleOnGestureListener { // … @Override public boolean onDown(MotionEvent e) { return true; } public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { try { if (Math.abs(e1.getY() – e2.getY()) > SWIPE_MAX_OFF_PATH) return false; if (e1.getX() – e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > […]

GestureDetector.SimpleOnGestureListener和GestureDetectorCompat不起作用。 我的代码有什么问题?

我正在检测常见的手势指南。 我已经链接到android-support-v4.jar库来获取GestureDetectorCompat ,并且我的代码看起来和在指南中完全一样,除了我在自定义视图中而不是在activity中检测到手势外: public class MyGlView extends GLSurfaceView { private GestureDetectorCompat m_gestureDetector = null; public MyGlView(Context context, AttributeSet attrs) { super(context, attrs); init(context); } public MyGlView(Context context) { super(context); init(context); } private void init(Context context) { if (m_gestureDetector == null) m_gestureDetector = new GestureDetectorCompat(context, new MyGestureListener()); setEGLContextClientVersion(2); setRenderer(new DrawSurfRenderer()); setRenderMode(RENDERMODE_CONTINUOUSLY); } @Override public boolean onTouchEvent(MotionEvent […]

Android中的手势识别

我是Android新手,我正在Gestures 。 我有一个关于如何识别文本的问题。 当用户画一个必须被识别的字母或数字,并且必须被打印在屏幕的顶部时。 我知道这可以通过GestureOverlayView完成,但不知道如何实现它。 任何人都可以请帮我一些示例代码。

与ScrollView一起使用GestureLibrary

正如我在标题中提到的,应用程序也有一个ScrollView和一个GestureDetector 。 在ScrollView的触摸事件之外,GestureDetector像从左到右和从右到左一样处理滑动操作。 他们都很好。 现在我想添加一个GestureLibrary – 我的意思是原始的活动。 我看了不同的来源,并以某种方式正确添加。 简单来说,布局看起来像这样: <android.gesture.GestureOverlayView android:id="@+id/gOverlay" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ScrollView android:id="@+id/content_scroll" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scrollbars="none"> </ScrollView> <!– Other views –> </android.gesture.GestureOverlayView> 它是按照我想要的(黄线)绘制的,但不会触发任何方法。 在这里,我如何实现OnGesturePerformedListener : /* * Gestures */ gLibrary = GestureLibraries.fromRawResource(this, R.raw.gestures); if (!gLibrary.load()) { finish(); } GestureOverlayView gestureOverlayView = (GestureOverlayView) findViewById(R.id.gOverlay); gestureOverlayView.addOnGesturePerformedListener(gestureListener); 这里是gestureListener : private OnGesturePerformedListener gestureListener = new OnGesturePerformedListener() […]

Android – 向左滑动|向右滑动 手势检测

试图将这个“手势”function添加到我的第一个程序,几乎每一个search我都来到这个线程: 在网格布局上进行手势检测 我能够得到它的工作..但在我的情况下,我不知道这是100%正确的。 在我的布局,我有3个水平linearLayouts,每个有5个button..所以它是3列5button..根据线程,我不得不: “将您的手势监听器附加到您添加到主布局的所有视图中;” 这意味着所有的15个button: “button.setOnTouchListener(gestureListener);” 我不能只是说LinearLayouts与button是寻找滑动手势的那些? 或者因为它们被隐藏在button的背面,这是不能做到的? 因为我有另一个布局,我想用这个来实现,它有更多的button。 所以..只是寻找一个更简单的方式来检测我的屏幕上刷卡权| 左..如果它确实存在.. 先谢谢你

手势库中有不同的手势是否会提高识别率?

我正在使用手势生成器创build一个手势库来实现我的应用中的手势识别。 我想知道是否有一个手势的多种变化将有助于或阻碍认识(或表演)。 例如,我想识别一个圆形的手势。 我将至less有两个变化 – 一个用于顺时针圆,一个用于逆时针,具有相同的语义,以便用户不必考虑它。 然而,我想知道是否希望为每个方向保存多个手势,例如各种半径或不同形状的“足够接近” – 如蛋形,椭圆形等,包括不同的angular度旋转每个。 任何人都有这方面的经验?

将方向存储到一个数组 – 并进行比较

我想要实现以下内容: 我希望用户能够使用陀螺仪“logging”iPhone的移动。 此后,用户应该能够复制相同的动作。 我使用以下方法提取音高,滚动和偏航: [self.motionManager startDeviceMotionUpdatesToQueue:[NSOperationQueue currentQueue] withHandler: ^(CMDeviceMotion *motion, NSError *error) { CMAttitude *attitude = motion.attitude; NSLog(@"pitch: %f, roll: %f, yaw: %f]", attitude.pitch, attitude.roll, attitude.yaw); }]; 我想我可以将这些值存储到一个数组,如果用户在logging模式。 而当用户试图复制那个动作时,我可以将复制的动作数组与所logging的动作数组进行比较。 问题是,我怎样才能巧妙地比较两个数组? 他们将永远不会有完全相同的价值观,但他们可以有点相同。 我是否在正确的轨道上? 更新:我认为,也许阿利斯使用DTW的答案可能是我在这里的正确方法。 但是我不是那么聪明(显然),所以如果任何人能够帮助我比较arrays的第一步,我会是一个快乐的人! 谢谢!

Android – 手势检测(向上/向下滑动)在特定的视图

我正试图在Android中实现OnGestureListener。 我有三个TextViews在我的布局。 我想要实现的是为两个textView设置手势监听器。 这是布局 – <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/rlMain" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/tvOne" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_marginBottom="10dp" android:layout_marginTop="5dp" android:gravity="center" android:text="One" /> <TextView android:id="@+id/tvTwo" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/tvOne" android:layout_centerHorizontal="true" android:layout_marginBottom="10dp" android:layout_marginTop="5dp" android:gravity="center" android:text="Two" /> <TextView android:id="@+id/tvThree" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/tvTwo" android:layout_centerHorizontal="true" android:layout_marginBottom="10dp" android:layout_marginTop="5dp" android:gravity="center" android:text="Three" /> 这里是活动 – import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.GestureDetector; import android.view.GestureDetector.OnGestureListener; […]