Most visited

Recently visited

Added in API level 8

ScaleGestureDetector

public class ScaleGestureDetector
extends Object

java.lang.Object
   ↳ android.view.ScaleGestureDetector


使用提供的MotionEvent检测缩放转换手势。 ScaleGestureDetector.OnScaleGestureListener回调将在发生特定手势事件时通知用户。 此类只能与通过触摸报告的MotionEvent一起使用。 要使用这个类:

Summary

Nested classes

interface ScaleGestureDetector.OnScaleGestureListener

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

class ScaleGestureDetector.SimpleOnScaleGestureListener

如果您只想监听缩放相关事件的子集,则可以扩展便利类。

Public constructors

ScaleGestureDetector(Context context, ScaleGestureDetector.OnScaleGestureListener listener)

使用提供的侦听器创建ScaleGestureDetector。

ScaleGestureDetector(Context context, ScaleGestureDetector.OnScaleGestureListener listener, Handler handler)

使用提供的侦听器创建ScaleGestureDetector。

Public methods

float getCurrentSpan()

返回形成通过焦点进行的手势的每个指针之间的平均距离。

float getCurrentSpanX()

返回形成通过焦点进行的手势的每个指针之间的平均X距离。

float getCurrentSpanY()

返回形成通过焦点进行的手势的每个指针之间的平均Y距离。

long getEventTime()

返回正在处理的当前事件的事件时间。

float getFocusX()

获取当前手势焦点的X坐标。

float getFocusY()

获取当前手势焦点的Y坐标。

float getPreviousSpan()

返回形成通过焦点进行的手势的每个指针之间的先前平均距离。

float getPreviousSpanX()

返回形成通过焦点进行的手势的每个指针之间的先前平均X距离。

float getPreviousSpanY()

返回形成通过焦点进行的手势的每个指针之间的先前平均Y距离。

float getScaleFactor()

将缩放因子从前一个缩放事件返回到当前事件。

long getTimeDelta()

返回之前接受的缩放事件与当前缩放事件之间的时间差(以毫秒为单位)。

boolean isInProgress()

如果缩放手势 true则返回 true

boolean isQuickScaleEnabled()

返回用户执行双击然后滑动的快速缩放手势是否应执行缩放。

boolean isStylusScaleEnabled()

返回用户使用触控笔并按下按钮的手写笔缩放手势是否应执行缩放。

boolean onTouchEvent(MotionEvent event)

接受 ScaleGestureDetector.OnScaleGestureListener在适当时将事件分派给 ScaleGestureDetector.OnScaleGestureListener

void setQuickScaleEnabled(boolean scales)

设置关联的 ScaleGestureDetector.OnScaleGestureListener是否应该在用户执行双击后接着滑动时收到onScale回调。

void setStylusScaleEnabled(boolean scales)

设置当用户使用触控笔并按下按钮时,联系人 ScaleGestureDetector.OnScaleGestureListener是否应接收onScale回调。

Inherited methods

From class java.lang.Object

Public constructors

ScaleGestureDetector

Added in API level 8
ScaleGestureDetector (Context context, 
                ScaleGestureDetector.OnScaleGestureListener listener)

使用提供的侦听器创建ScaleGestureDetector。 您只能从Looper线程使用此构造函数。

Parameters
context Context: the application's context
listener ScaleGestureDetector.OnScaleGestureListener: the listener invoked for all the callbacks, this must not be null.
Throws
NullPointerException if listener is null.

ScaleGestureDetector

Added in API level 19
ScaleGestureDetector (Context context, 
                ScaleGestureDetector.OnScaleGestureListener listener, 
                Handler handler)

使用提供的侦听器创建ScaleGestureDetector。

Parameters
context Context: the application's context
listener ScaleGestureDetector.OnScaleGestureListener: the listener invoked for all the callbacks, this must not be null.
handler Handler: the handler to use for running deferred listener events.
Throws
NullPointerException if listener is null.

也可以看看:

Public methods

getCurrentSpan

Added in API level 8
float getCurrentSpan ()

返回形成通过焦点进行的手势的每个指针之间的平均距离。

Returns
float Distance between pointers in pixels.

getCurrentSpanX

Added in API level 11
float getCurrentSpanX ()

返回形成通过焦点进行的手势的每个指针之间的平均X距离。

Returns
float Distance between pointers in pixels.

getCurrentSpanY

Added in API level 11
float getCurrentSpanY ()

返回形成通过焦点进行的手势的每个指针之间的平均Y距离。

Returns
float Distance between pointers in pixels.

getEventTime

Added in API level 8
long getEventTime ()

返回正在处理的当前事件的事件时间。

Returns
long Current event time in milliseconds.

getFocusX

Added in API level 8
float getFocusX ()

获取当前手势焦点的X坐标。 如果手势正在进行,则焦点位于形成手势的每个指针之间。 如果isInProgress()将返回false,则此函数的结果是未定义的。

Returns
float X coordinate of the focal point in pixels.

getFocusY

Added in API level 8
float getFocusY ()

获取当前手势焦点的Y坐标。 如果手势正在进行,则焦点位于形成手势的每个指针之间。 如果isInProgress()将返回false,则此函数的结果是未定义的。

Returns
float Y coordinate of the focal point in pixels.

getPreviousSpan

Added in API level 8
float getPreviousSpan ()

返回形成通过焦点进行的手势的每个指针之间的先前平均距离。

Returns
float Previous distance between pointers in pixels.

getPreviousSpanX

Added in API level 11
float getPreviousSpanX ()

返回形成通过焦点进行的手势的每个指针之间的先前平均X距离。

Returns
float Previous distance between pointers in pixels.

getPreviousSpanY

Added in API level 11
float getPreviousSpanY ()

返回形成通过焦点进行的手势的每个指针之间的先前平均Y距离。

Returns
float Previous distance between pointers in pixels.

getScaleFactor

Added in API level 8
float getScaleFactor ()

将缩放因子从前一个缩放事件返回到当前事件。 该值被定义为( getCurrentSpan() / getPreviousSpan() )。

Returns
float The current scaling factor.

getTimeDelta

Added in API level 8
long getTimeDelta ()

返回之前接受的缩放事件与当前缩放事件之间的时间差(以毫秒为单位)。

Returns
long Time difference since the last scaling event in milliseconds.

isInProgress

Added in API level 8
boolean isInProgress ()

如果缩放手势 true则返回 true

Returns
boolean

isQuickScaleEnabled

Added in API level 19
boolean isQuickScaleEnabled ()

返回用户执行双击然后滑动的快速缩放手势是否应执行缩放。

Returns
boolean

也可以看看:

isStylusScaleEnabled

Added in API level 23
boolean isStylusScaleEnabled ()

返回用户使用触控笔并按下按钮的手写笔缩放手势是否应执行缩放。

Returns
boolean

也可以看看:

onTouchEvent

Added in API level 8
boolean onTouchEvent (MotionEvent event)

接受 ScaleGestureDetector.OnScaleGestureListener在适当时将事件分派到 ScaleGestureDetector.OnScaleGestureListener

应用程序应将完整一致的事件流传递给此方法。 完整且一致的事件流涉及从最初的ACTION_DOWN到最终的ACTION_UP或ACTION_CANCEL的所有MotionEvent。

Parameters
event MotionEvent: The event to process
Returns
boolean true if the event was processed and the detector wants to receive the rest of the MotionEvents in this event stream.

setQuickScaleEnabled

Added in API level 19
void setQuickScaleEnabled (boolean scales)

设置关联的ScaleGestureDetector.OnScaleGestureListener是否应在用户执行双击后接着进行滑动时收到onScale回调。 请注意,如果应用定位到API 19和更新版本,则默认情况下会启用此功能。

Parameters
scales boolean: true to enable quick scaling, false to disable

setStylusScaleEnabled

Added in API level 23
void setStylusScaleEnabled (boolean scales)

设置当用户使用手写笔并按下按钮时,联系人ScaleGestureDetector.OnScaleGestureListener是否应接收onScale回调。 请注意,如果应用定位到API 23和更高版本,则默认情况下会启用此功能。

Parameters
scales boolean: true to enable stylus scaling, false to disable.

Hooray!