`
elvajxw
  • 浏览: 108070 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Android ScaleGestureDetector

阅读更多

Android ScaleGestureDetector
http://www.eoeandroid.com/forum.php?mod=viewthread&tid=82829&fromuid=589037

 

 

类概述

       根据接收的 MotionEvent,  侦测由多个触点(多点触控)引发的变形手势。callback 方法
ScaleGestureDetector.OnScaleGestureListener  会在特定手势事件发生时通知用户。该类仅能和Touch事 件引发的 MotionEvent 配合使用。使用该类需要为你的 View 创建 ScaleGestureDetector  实例确保在 onTouchEvent(MotionEvent)方法中调用  onTouchEvent  (MotionEvent).   在事件发生时,定义在 callback 中的方法会被调用。

       (ScaleGestureDetector 为 Android2.2 新增的类,允许 Views 可以通过提供的MotionEvents 检测和处理包括多点触摸在内的手势变化信息。)


       内部类

       interface  ScaleGestureDetector.OnScaleGestureListener
       手势发生时接收通知的监听器

       class ScaleGestureDetector.SimpleOnScaleGestureListener      
       一个方便使用的类。 若仅想监听一部分尺寸伸缩事件,可继承该类。

        公共构造方法

        public ScaleGestureDetector(Context context, ScaleGestureDetector.OnScaleGestureListener listener)

       构造函数
       公共方法

       public float getCurrentSpan ()

       返回手势过程中,组成该手势的两个触点的当前距离。
       返回值
       以像素为单位的触点距离。

       public long getEventTime ()

       返回事件被捕捉时的时间。
       返回值
       以毫秒为单位的事件时间。

       public float getFocusX ()

       返回当前手势焦点的 X 坐标。 如果手势正在进行中,焦点位于组成手势的两个触点之间。 如果手势正在结束,焦点为仍留在屏幕上的触点的位置。若 isInProgress()返回 false,该方法的返回值未定义。
       返回值
       返回焦点的 X 坐标值,以像素为单位。

       public float getFocusY ()

       返回当前手势焦点的 Y 坐标。 如果手势正在进行中,焦点位于组成手势的两个触点之间。 如果手势正在结束,焦点为仍留在屏幕上的触点的位置。若 isInProgress()返回 false,该方法的返回值未定义。
       返回值
       返回焦点的 Y 坐标值,以像素为单位。

       public float getPreviousSpan ()

       返回手势过程中,组成该手势的两个触点的前一次距离。
       返回值
       两点的前一次距离,以像素为单位。

       public float getScaleFactor ()

       返回从前一个伸缩事件至当前伸缩事件的伸缩比率。该值定义为  (getCurrentSpan()  / getPreviousSpan())。
       返回值
       当前伸缩比率.

       public long getTimeDelta ()

       返回前一次接收到的伸缩事件距当前伸缩事件的时间差,以毫秒为单位。
       返回值
       从前一次伸缩事件起始的时间差,以毫秒为单位。

       public boolean isInProgress ()

       如果手势处于进行过程中,返回 true.
       返回值
       如果手势处于进行过程中,返回 true。否则返回 false。

 

 

分享到:
评论

相关推荐

    Android 手势检测实战 打造支持缩放的图片预览效果

    我们将主要关注`ScaleGestureDetector`类,它是Android SDK提供的一种专门用于识别双指缩放手势的工具。 `ScaleGestureDetector`是Android SDK中的一个内置类,它可以帮助我们检测到用户在屏幕上进行的双指捏合和...

    Android-一个可以实现单指移动双击缩放双指缩放的View

    在Android中,可以通过设置ScaleGestureDetector的OnScaleGestureListener来监听缩放事件。 然后是双指缩放,这是Android手势识别中的一个关键部分,用于实现 pinch-to-zoom 效果。ScaleGestureDetector类专为此...

    Android 手势检测实战 打造支持缩放平移的图片预览效果【VewPager版】

    本教程将深入探讨如何利用Android的手势检测机制,特别是`ScaleGestureDetector`,结合`ViewPager`来打造一个支持缩放和平移的图片预览效果。 `ScaleGestureDetector`是Android SDK提供的一种工具类,它可以帮助...

    Android 图片浏览全屏缩放

    为了实现图片的缩放效果,我们可以利用Android的内置手势检测库,如 GestureDetector 和 ScaleGestureDetector。这两个类可以帮助我们识别用户的捏合和滑动操作,从而实现图片的放大和缩小以及平移。 ```java ...

    Android代码-Android图片浏览全屏缩放.zip

    【Android图片浏览全屏缩放】是一个Android应用开发中的常见需求,主要涉及到图像处理和UI交互方面的技术。在Android平台上,我们通常会使用ImageView组件来显示图片,但是要实现图片的全屏展示以及平滑缩放,需要更...

    Android代码-android-gesture-detectors

    Since I was amazed Android has a ScaleGestureDetector since API level 8 but (still) no such thing as a RotateGestureDetector I decided to create this class myself. In the process I decided to create...

    Android应用源码之android仪表盘.zip

    7. **手势识别**:如果仪表盘支持用户交互,可能使用了GestureDetector、ScaleGestureDetector等类来处理滑动、点击等手势事件。 8. **性能优化**:为了保证流畅的用户体验,源码可能包含了一些性能优化技巧,如...

    Android自定义view实现电影票在线选座功能

    Android提供了GestureDetector和ScaleGestureDetector来处理用户的手势。GestureDetector可以识别滑动、点击等基本手势,而ScaleGestureDetector专门用于检测双指缩放的手势。在实现选座功能时,我们需要监听用户的...

    Android-一个Android图片缩放查看控件支持手势

    Android提供了`GestureDetector`和`ScaleGestureDetector`类来帮助识别常见的手势,如单击、滑动、双击和捏合。`GestureDetector`用于处理单指滑动和点击,而`ScaleGestureDetector`则用于检测缩放手势,通过监听器...

    android 两点触摸 两个手指放大缩小图片

    这里我们主要探讨如何通过自定义View来实现这个功能,这涉及到Android的MotionEvent类、触摸事件的分发以及 ScaleGestureDetector类。 首先,了解Android中的触摸事件处理。当用户在屏幕上进行触摸操作时,系统会...

    安卓Android源码——UI界面源码.zip

    8. **手势检测**:Android SDK提供了GestureDetector、ScaleGestureDetector等类,用于识别和处理滑动、捏合等复杂手势。 9. **RecyclerView**:RecyclerView是取代ListView的高效列表组件,适用于展示大量数据。它...

    安卓Android源码——android相册系统(用Matrix实现).zip

    4. **手势识别**: 在相册系统中,通常会使用GestureDetector或ScaleGestureDetector来识别用户的触摸手势,如单击、双击、滑动和捏合。捏合手势用于缩放图片,是Matrix变换的重要应用场景。 5. **Adapter模式**: ...

    安卓Android源码——android相册系统(用Matrix实现).rar

    这需要集成GestureDetector和ScaleGestureDetector类,监听并处理用户的触摸事件,然后更新Matrix以反映这些手势。 5. **Adapter与ListView/RecyclerView**:在Android相册系统中,通常会使用Adapter类来填充...

    android150种图片切换特效

    Android 的 GestureDetector 和 ScaleGestureDetector 可以帮助处理这些手势。 10. **适配不同的屏幕尺寸和方向**:在设计图片切换特效时,应考虑到不同设备的屏幕尺寸和横竖屏切换,确保动画在各种环境下都能流畅...

    android 画图软件源码 markers-for-android

    实现多指画图可能需要集成手势识别,例如`GestureDetector`和`ScaleGestureDetector`。这些类可以帮助识别常见的触摸手势,如滑动、捏合等,从而实现画布的平移和缩放。 6. **状态保存与恢复**: 为了确保用户...

    Android自定义相机——身份证扫描界面

    可以使用ImageView或自定义View实现这个框,并添加手势识别库如GestureDetector或ScaleGestureDetector,以处理用户的滑动和缩放操作。 Android 6.0引入了运行时权限管理,因此在API 23及以上版本,你需要在运行时...

    android手势识别源码讲解

    首先,Android的手势识别主要依赖于`GestureDetector`和`ScaleGestureDetector`这两个内置类。`GestureDetector`用于处理基本的单指和双指触摸事件,如单击、长按、滑动等。而`ScaleGestureDetector`则专门处理双指...

    Android仿美图秀秀

    Android提供了GestureDetector和ScaleGestureDetector等工具类来检测和处理这些手势。 7. **社交网络分享**:美图秀秀的一大特色是用户可以将编辑好的图片分享到社交平台。在Android中,这通常涉及到Intent的使用,...

    android手势处理图片平移、缩放和旋转

    Android系统提供了一套GestureDetector和ScaleGestureDetector类来帮助开发者检测用户的滑动、点击、双击、缩放等手势。GestureDetector主要用于处理单指滑动、点击等基本手势,而ScaleGestureDetector则专门用于...

    android手势放大缩小图片

    首先,我们需要引入Android的GestureDetector和ScaleGestureDetector类。这两个类是Android提供的用于处理触摸事件和手势识别的核心工具。GestureDetector用于检测基本的滑动、点击等手势,而ScaleGestureDetector则...

Global site tag (gtag.js) - Google Analytics