©
このドキュメントでは、php中国語ネットマニュアルリリース
ScaleGestureDetector
翻译时间:2010-12-05
版本:Android 2.3 r1
结构
继承关系
public classScaleGestureDetectorextendsObject
java.lang.Object
android.view.ScaleGestureDetector
类概述
根据接收的MotionEvent,侦测由多个触点(多点触控)引发的变形手势。callback方法ScaleGestureDetector.OnScaleGestureListener会在特定手势事件发生时通知用户。该类仅能和Touch事件引发的MotionEvent配合使用。使用该类需要
l为你的View创建ScaleGestureDetector实例
l确保在onTouchEvent(MotionEvent)方法中调用onTouchEvent (MotionEvent). [译者注:前者为该类的onTouchEvent方法,后者为View的onTouchEvent方法。]在事件发生时,定义在callback中的方法会被调用。
(译者注:ScaleGestureDetector为Android2.2新增的类,允许Views可以通过提供的MotionEvents检测和处理包括多点触摸在内的手势变化信息。)
内部类
interface ScaleGestureDetector.OnScaleGestureListener
手势发生时接收通知的监听器
class ScaleGestureDetector.SimpleOnScaleGestureListener
一个方便使用的类。若仅想监听一部分尺寸伸缩事件,可继承该类。
公共构造方法
publicScaleGestureDetector(Context context, ScaleGestureDetector.OnScaleGestureListener listener)
构造函数
公共方法
public floatgetCurrentSpan()
返回手势过程中,组成该手势的两个触点的当前距离。
返回值
以像素为单位的触点距离。
public longgetEventTime()
返回事件被捕捉时的时间。
返回值
以毫秒为单位的事件时间。
public floatgetFocusX()
返回当前手势焦点的X坐标。如果手势正在进行中,焦点位于组成手势的两个触点之间。如果手势正在结束,焦点为仍留在屏幕上的触点的位置。若isInProgress()返回false,该方法的返回值未定义。
返回值
返回焦点的X坐标值,以像素为单位。
public floatgetFocusY()
返回当前手势焦点的Y坐标。如果手势正在进行中,焦点位于组成手势的两个触点之间。如果手势正在结束,焦点为仍留在屏幕上的触点的位置。若isInProgress()返回false,该方法的返回值未定义。
返回值
返回焦点的Y坐标值,以像素为单位。
public floatgetPreviousSpan()
返回手势过程中,组成该手势的两个触点的前一次距离。
返回值
两点的前一次距离,以像素为单位。
public floatgetScaleFactor()
返回从前一个伸缩事件至当前伸缩事件的伸缩比率。该值定义为(getCurrentSpan() / getPreviousSpan())。
返回值
当前伸缩比率.
public longgetTimeDelta()
返回前一次接收到的伸缩事件距当前伸缩事件的时间差,以毫秒为单位。
返回值
从前一次伸缩事件起始的时间差,以毫秒为单位。
public booleanisInProgress()
如果手势处于进行过程中,返回true.
返回值
如果手势处于进行过程中,返回true。否则返回false。
补充
文章精选
android touchexample(中文)
Making Sense of Multitouch(android-developers.blogspot.com)