ScaleGestureDetector

来源:互联网 发布:淘宝买家好评率90低吗 编辑:程序博客网 时间:2024/06/05 03:52

一、结构

public class ScaleGestureDetector extends Object

java.lang.Object
android.view.ScaleGestureDetector

二、概述

  根据接收的MotionEvent, 侦测由多个触点(多点触控)引发的变形手势。callback方法ScaleGestureDetector.OnScaleGestureListener 会在特定手势事件发生时通知用户。该类仅能和Touch事件引发的MotionEvent配合使用。使用该类需要
    为你的View创建ScaleGestureDetector 实例
    确保在onTouchEvent(MotionEvent)方法中调用 onTouchEvent (MotionEvent). [译者注:前者为该类的onTouchEvent方法,后者为View的onTouchEvent方法。] 在事件发生时,定义在callback中的方法会被调用。
    (译者注:ScaleGestureDetector为Android2.2新增的类,允许Views可以通过提供的MotionEvents检测和处理包括多点触摸在内的手势变化信息。)

三、内部类

1
interface ScaleGestureDetector.OnScaleGestureListener

手势发生时接收通知的监听器

1
class         ScaleGestureDetector.SimpleOnScaleGestureListener

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

四、构造函数

1
public ScaleGestureDetector (Context context, ScaleGestureDetector.OnScaleGestureListener listener)

构造函数

五、公共方法

1
public float getCurrentSpan ()

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

1
public long getEventTime ()

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

1
public float getFocusX ()

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

1
public float getFocusY ()

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

1
public float getPreviousSpan ()

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

1
public float getScaleFactor ()

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

1
public long getTimeDelta ()

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

1
public boolean isInProgress ()

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