关键点:
GestureDetector内部有三个接口,分别是OnGestureListener,OnDoubleTapListener,OnContextClickListener.有一个内部类SimpleOnGestureListener,这个内部类实现了OnGestureListener,OnDoubleTapListener,OnContextClickListener。
1、GestureDetector的使用方法,在onTouchEvent中调用mGestureDetector.onTouchEvent(event);可以触发OnGestureListener,OnDoubleTapListener中的方法。
2、在onGenericOntonEvent(这个方法是相应一些外界设备,比如游戏手柄,鼠标,滚轮,触控板等)中调用mGestureDetector.onGenericMontionEvent(event)(api23);可以触发OnContextClickListener中的方法。
具体的代码如下:
package com.example.administrator.myscroller;
import android.content.Context;
import android.os.Looper;
import android.util.AttributeSet;
import android.util.Log;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.VelocityTracker;
import android.view.View;
import android.widget.Scroller;
public class MyView extends View{
private static final String TAG = "XCR_MyView";
private Scroller mScroller;
private Context mContext;
private VelocityTracker mVelocityTracker;
private GestureDetector mGestureDetector;
private MyGestureDetectorLinster mMyGestureDetectorLinster;
private MyGestureDetectorLinster1 mMyGestureDetectorLinster1;
private GestureDetector.SimpleOnGestureListener mSimpleOnGestureListener;
private class MySimpleOngestureListenter extends GestureDetector.SimpleOnGestureListener{
//在GestureDetector中的内部类SimpleOnGestureLister中可以有选择去实现不同的手势。
public MySimpleOngestureListenter() {
}
@Override