Android 2.3 r1 中文 API (57) —— ScaleGestureDetector

简介:

一、结构

public class ScaleGestureDetector extends Object  

java.lang.Object

android.view.ScaleGestureDetector

二、概述

  根据接收的MotionEvent, 侦测由多个触点(多点触控)引发的变形手势。callback方法ScaleGestureDetector.OnScaleGestureListener 会在特定手势事件发生时通知用户。该类仅能和Touch事件引发的MotionEvent配合使用。使用该类需要

    为你的View创建ScaleGestureDetector 实例

    确保在onTouchEvent(MotionEvent)方法中调用 onTouchEvent (MotionEvent). [译者注:前者为该类的onTouchEvent方法,后者为ViewonTouchEvent方法。在事件发生时,定义在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 touchexample (中文)

             Making Sense of Multitouchandroid-developers.blogspot.com

本文转自博客园农民伯伯的博客,原文链接:Android 2.3 r1 中文 API (57) —— ScaleGestureDetector,如需转载请自行联系原博主。

目录
相关文章
|
8月前
|
Android开发
Android 11 修改libcore update-api 遇到的问题
Android 11 修改libcore update-api 遇到的问题
223 1
|
定位技术 API 开发工具
Android 按照步骤接入百度地图API,定位显示不了解决办法
Android 按照步骤接入百度地图API,定位显示不了解决办法
412 1
|
5月前
|
编译器 API Android开发
Android经典实战之Kotlin Multiplatform 中,如何处理不同平台的 API 调用
本文介绍Kotlin Multiplatform (KMP) 中使用 `expect` 和 `actual` 关键字处理多平台API调用的方法。通过共通代码集定义预期API,各平台提供具体实现,编译器确保正确匹配,支持依赖注入、枚举类处理等,实现跨平台代码重用与原生性能。附带示例展示如何定义跨平台函数与类。
155 0
|
7月前
|
API Android开发 开发者
`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView
【6月更文挑战第26天】`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView。它提供高效的数据视图复用,优化的布局管理,支持多种布局(如线性、网格),并解耦数据、适配器和视图。RecyclerView的灵活性、性能(如局部刷新和动画支持)和扩展性使其成为现代Android开发的首选,特别是在处理大规模数据集时。
82 2
|
7月前
|
Java Linux API
微信API:探究Android平台下Hook技术的比较与应用场景分析
微信API:探究Android平台下Hook技术的比较与应用场景分析
|
8月前
|
SQL API Android开发
Android API:Activity.managedQuery()
Android API:Activity.managedQuery()
56 2
|
8月前
|
API Android开发
Android Framework增加API 报错 Missing nullability on parameter
Android Framework增加API 报错 Missing nullability on parameter
365 1
|
8月前
|
API 定位技术 开发工具
Android Studio2021.1.1 高德地图api调用这一篇就够了
Android Studio2021.1.1 高德地图api调用这一篇就够了
|
8月前
|
API Android开发
对于应用研发平台EMAS中安卓 API 32 收不到 FCM 推送的问题
对于应用研发平台EMAS中安卓 API 32 收不到 FCM 推送的问题
112 3
|
API Android开发
mPaaS(移动跨平台框架)目前已经支持了Android API级别21
mPaaS(移动跨平台框架)目前已经支持了Android API级别21
153 2