`
yesjavame
  • 浏览: 691116 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

关于直接在View中实现Gesture的功能

阅读更多

想弄个拨动的效果,所以研究了一下GestureDetector的使用。

在网上找了一些资料,无非都是在Activity中增加一个GestureDetector实例,然后设置监听器,处理各类事件,等等。

一般可参考:

http://www.androidsnippets.org/snippets/19/

http://www.williamhua.com/2009/04/23/android-touchscreen-gesture-recogniton/

http://www.anddev.org/gesturedetector_and_gesturedetectorongesturelistener-t3204.html

但是,今天我要处理的是在自定义的ViewGroup中处理手势,所以打算将这个GestureDetector放在MyViewGroup中,结果却不如人意。

加Log跟了一下,看看OnTouchEvent的调用过程,发现问题出在:DOWN和UP事件,先由ViewGroup处理,再由Activity处理。但是MOVE事件则只有Activity中有表现,ViewGroup则没有动作。所以简单地将GestureDetector放在ViewGroup中,是只能得到OnDown和OnShowPress,得不到OnFlip和OnScroll。

我能想到的处理办法是在Activity中再将Move和Up传给ViewGroup。这样就OK了。

但是觉得这种方法不是很爽,有哪位同仁给点更好的办法?先谢过了。

分享到:
评论

相关推荐

    Gesture手势添加与识别

    Android还提供了一个名为GestureOverlayView的视图,它可以直接在屏幕上绘制手势,并提供识别功能。你可以在布局文件中添加这个视图,然后在代码中监听手势绘制完成的事件。以下是一个使用GestureOverlayView的例子...

    安卓Android源码——gesture-imageview.zip

    在这个"Android源码——gesture-imageview.zip"项目中,我们主要探讨的是如何将手势识别功能集成到ImageView组件中,创建一个自定义的GestureImageView。这个源码示例旨在帮助开发者了解如何实现手势操作,如缩放、...

    AndroidGesture

    在Android开发中,手势识别(Gesture)是一种重要的用户交互方式,它使得用户可以通过触摸屏幕的各种动作来控制和操作应用程序。Android系统提供了丰富的API和技术支持,让开发者能够轻松地实现复杂的手势识别功能。...

    ios源码之整合cocos2d手势识别-GestureRecognizers.rar

    通过这个源码示例"GestureRecognizers",你可以深入学习如何在Cocos2D项目中实现自定义的手势识别。通过查看和分析代码,你可以了解到如何将`UIGestureRecognizer`与Cocos2D的节点交互,以及如何处理各种手势事件。...

    iOS实现pdf文件预览,上下翻页、缩放,读取pdf目录

    本文将详细讲解如何在iOS应用中实现PDF的预览功能,包括上下翻页、缩放以及读取PDF目录。 首先,我们需要引入Apple的`CoreGraphics`和`Quartz2D`框架,这两个框架提供了处理PDF的基础工具。然后,可以使用`...

    IOS自定义view描绘纸牌和手势处理

    在iOS开发中,自定义视图(Custom View)和手势识别(Gesture Recognition)是两个重要的技术领域,尤其在创建交互式、动态的应用时显得尤为重要。本文将深入探讨如何基于Stanford大学iOS 7课程中的第7课内容,实现...

    swift-一款简单的图片涂鸦iOS控件方便实用可以轻松引用到你的工程中

    1. **自定义视图(Custom View)**:在iOS应用中,为了实现涂鸦功能,开发者通常会创建一个自定义视图,继承自UIView。这个自定义视图可以监听触摸事件,根据用户的触控路径绘制线条。 2. **手势识别(Gesture ...

    View中如何进行手势识别onFling动作实现介绍

    本文将详细介绍如何在自定义View中实现手势识别,特别是`onFling`动作。`onFling`是Android手势识别中用于检测快速滑动的手势。 Android提供了两种手势识别类:`android.view.GestureDetector`和`android.gesture....

    动态调整位置

    在iOS开发中,"动态调整位置"的概念与Windows Phone中的磁贴功能有一定的相似性,但它们在实现方式和应用场景上存在差异。Windows Phone的磁贴设计允许用户自定义主屏幕上的应用图标,通过拖动、缩放来改变其大小和...

    IOS应用源码——简单的图片放大缩小demoUITestApp.zip

    这个"UITestApp"源码示例提供了一个简单的实现方式,它可以帮助开发者理解如何在iOS应用中实现这一功能。以下是这个项目中涉及的关键知识点: 1. **UIKit框架**:`UITestApp`显然基于UIKit框架构建,这是iOS应用...

    识别Leopard和Lion中的两指和三指滚动和滑动手势_Objective-C_下载.zip

    本资料包“CocoaNavigationGestures-master”显然包含了关于如何在Objective-C中实现和识别这些手势的代码示例。 一、两指滚动和滑动手势 1. **两指上滑/下滑**:这是最基本的滚动手势,用户将两个手指同时放在触控...

    点击切换视图滑动切换视图

    8. **性能优化**: 在实现滑动切换视图时,注意性能优化是至关重要的。例如,提前加载将要显示的视图内容,避免在滑动过程中加载大量数据导致的卡顿。 9. **测试与调试**: 最后,确保在多种设备和iOS版本上测试你的...

    Android触屏手势识别Demo源码.rar

    这个"Android触屏手势识别Demo源码"提供了一个实际的示例,帮助开发者理解如何在Android应用中实现手势识别功能。下面将详细讲解Android触屏手势的基础知识、手势识别的实现原理以及如何通过源码学习和应用这些知识...

    List_SlideLayout.7z

    1. **SlidingDrawer和DrawerLayout**:在较早的Android版本中,`SlidingDrawer`组件被用来实现滑动抽屉效果,但自Android v4库开始,`DrawerLayout`成为了官方推荐的实现侧滑菜单的方式。`DrawerLayout`允许你定义一...

    可以双击放大的gallery

    至于单指拖动,一般会在`RecyclerView`的`ItemTouchHelper`或者自定义的`View`中实现。当用户触摸并移动手指时,根据触摸位置和移动距离更新图片的位置。这通常涉及到对`MotionEvent`的处理和视图的重新布局。 滑动...

    简单手势识别实例(IOS5.0)

    在iOS 5.0之后,开发者可以直接在Storyboard中的UIViewController上通过拖拽的方式添加这些手势识别器,然后在代码中设置手势的属性并实现相应的方法。例如,为UIViewController添加一个Tap Gesture Recognizer,你...

    安卓手势源代码

    6. **GestureOverlayView**:这是一个可以叠加在其他视图上的特殊View,用户可以直接在上面绘制手势,然后保存并识别。 7. **GestureLibrary**和**GestureStore**:这两个类用于存储和加载自定义手势。GestureStore...

    安卓Android源码——android 仿真翻页效果.zip

    在安卓开发中,实现仿真的翻页效果是一项常见的任务,它可以增强用户体验,使得应用程序看起来更加生动有趣。这个压缩包文件“安卓Android源码——android 仿真翻页效果.zip”包含了实现这种效果的源代码,这对于...

    PullToZoom

    在Android开发中,这通常涉及到手势识别(Gesture Detection)和视图动画(View Animation)。手势识别是检测用户的滑动手势,如下拉动作。Android提供了GestureDetector和Scroller类来帮助处理这类手势。而视图动画...

    ios开发 页面切换

    在这个“ios开发 页面切换”的示例中,我们将关注如何使用UIScrollView来实现这一功能,适合初学者入门学习。 UIScrollView是苹果iOS SDK中的一个关键组件,它允许用户在比屏幕大的内容中滚动查看。在页面切换的...

Global site tag (gtag.js) - Google Analytics