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 |
|
---|---|
From class 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. |