public class ScaleGestureDetector
extends Object
| java.lang.Object | |
| android.view.ScaleGestureDetector | |
使用提供的MotionEvent检测缩放转换手势。 ScaleGestureDetector.OnScaleGestureListener回调将在发生特定手势事件时通知用户。 此类只能与通过触摸报告的MotionEvent一起使用。 要使用这个类:
ScaleGestureDetector for your View onTouchEvent(MotionEvent) method ensure you call onTouchEvent(MotionEvent). The methods defined in your callback will be executed when the events occur. 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() 如果缩放手势 |
boolean |
isQuickScaleEnabled() 返回用户执行双击然后滑动的快速缩放手势是否应执行缩放。 |
boolean |
isStylusScaleEnabled() 返回用户使用触控笔并按下按钮的手写笔缩放手势是否应执行缩放。 |
boolean |
onTouchEvent(MotionEvent event) 接受 |
void |
setQuickScaleEnabled(boolean scales) 设置关联的 |
void |
setStylusScaleEnabled(boolean scales) 设置当用户使用触控笔并按下按钮时,联系人 |
继承方法(Inherited methods) |
|
|---|---|
java.lang.Object
|
|
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 (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. |
也可以看看:
float getCurrentSpan ()
返回形成通过焦点进行的手势的每个指针之间的平均距离。
| 返回(Returns) | |
|---|---|
float |
Distance between pointers in pixels. |
float getCurrentSpanX ()
返回形成通过焦点进行的手势的每个指针之间的平均X距离。
| 返回(Returns) | |
|---|---|
float |
Distance between pointers in pixels. |
float getCurrentSpanY ()
返回形成通过焦点进行的手势的每个指针之间的平均Y距离。
| 返回(Returns) | |
|---|---|
float |
Distance between pointers in pixels. |
long getEventTime ()
返回正在处理的当前事件的事件时间。
| 返回(Returns) | |
|---|---|
long |
Current event time in milliseconds. |
float getFocusX ()
获取当前手势焦点的X坐标。 如果手势正在进行,则焦点位于形成手势的每个指针之间。 如果isInProgress()将返回false,则此函数的结果是未定义的。
| 返回(Returns) | |
|---|---|
float |
X coordinate of the focal point in pixels. |
float getFocusY ()
获取当前手势焦点的Y坐标。 如果手势正在进行,则焦点位于形成手势的每个指针之间。 如果isInProgress()将返回false,则此函数的结果是未定义的。
| 返回(Returns) | |
|---|---|
float |
Y coordinate of the focal point in pixels. |
float getPreviousSpan ()
返回形成通过焦点进行的手势的每个指针之间的先前平均距离。
| 返回(Returns) | |
|---|---|
float |
Previous distance between pointers in pixels. |
float getPreviousSpanX ()
返回形成通过焦点进行的手势的每个指针之间的先前平均X距离。
| 返回(Returns) | |
|---|---|
float |
Previous distance between pointers in pixels. |
float getPreviousSpanY ()
返回形成通过焦点进行的手势的每个指针之间的先前平均Y距离。
| 返回(Returns) | |
|---|---|
float |
Previous distance between pointers in pixels. |
float getScaleFactor ()
将缩放因子从前一个缩放事件返回到当前事件。 该值被定义为( getCurrentSpan() / getPreviousSpan() )。
| 返回(Returns) | |
|---|---|
float |
The current scaling factor. |
long getTimeDelta ()
返回之前接受的缩放事件与当前缩放事件之间的时间差(以毫秒为单位)。
| 返回(Returns) | |
|---|---|
long |
Time difference since the last scaling event in milliseconds. |
boolean isQuickScaleEnabled ()
返回用户执行双击然后滑动的快速缩放手势是否应执行缩放。 。
| 返回(Returns) | |
|---|---|
boolean |
|
boolean isStylusScaleEnabled ()
返回用户使用触控笔并按下按钮的手写笔缩放手势是否应执行缩放。
| 返回(Returns) | |
|---|---|
boolean |
|
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. |
void setQuickScaleEnabled (boolean scales)
设置关联的ScaleGestureDetector.OnScaleGestureListener是否应在用户执行双击后接着进行滑动时收到onScale回调。 请注意,如果应用定位到API 19和更新版本,则默认情况下会启用此功能。
| 参数(Parameters) | |
|---|---|
scales |
boolean: true to enable quick scaling, false to disable |
void setStylusScaleEnabled (boolean scales)
设置当用户使用手写笔并按下按钮时,联系人ScaleGestureDetector.OnScaleGestureListener是否应接收onScale回调。 请注意,如果应用定位到API 23和更高版本,则默认情况下会启用此功能。
| 参数(Parameters) | |
|---|---|
scales |
boolean: true to enable stylus scaling, false to disable. |