Android添加觸摸手勢識別監聽

nnkde 9年前發布 | 1K 次閱讀 Java Android

import android.content.Context; 
import android.view.MotionEvent; 
import android.view.GestureDetector.SimpleOnGestureListener; 
import android.widget.Toast;

public class MyGestureListener extends SimpleOnGestureListener {

private Context mContext; 

MyGestureListener(Context context) { 
    mContext = context; 
} 

@Override 
public boolean onDown(MotionEvent e) { 
    Toast.makeText(mContext, "DOWN " + e.getAction(), Toast.LENGTH_SHORT).show(); 
    return false; 
} 

@Override 
public void onShowPress(MotionEvent e) { 
    Toast.makeText(mContext, "SHOW " + e.getAction(), Toast.LENGTH_SHORT).show();            
} 

@Override 
public boolean onSingleTapUp(MotionEvent e) { 
    Toast.makeText(mContext, "SINGLE UP " + e.getAction(), Toast.LENGTH_SHORT).show(); 
    return false; 
} 

@Override 
public boolean onScroll(MotionEvent e1, MotionEvent e2, 
        float distanceX, float distanceY) { 
    Toast.makeText(mContext, "SCROLL " + e2.getAction(), Toast.LENGTH_SHORT).show(); 
    return false; 
} 

@Override 
public void onLongPress(MotionEvent e) { 
    Toast.makeText(mContext, "LONG " + e.getAction(), Toast.LENGTH_SHORT).show(); 
} 

@Override 
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, 
        float velocityY) { 
    Toast.makeText(mContext, "FLING " + e2.getAction(), Toast.LENGTH_SHORT).show(); 
    return false; 
} 

@Override 
public boolean onDoubleTap(MotionEvent e) { 
    Toast.makeText(mContext, "DOUBLE " + e.getAction(), Toast.LENGTH_SHORT).show(); 
    return false; 
} 

@Override 
public boolean onDoubleTapEvent(MotionEvent e) { 
    Toast.makeText(mContext, "DOUBLE EVENT " + e.getAction(), Toast.LENGTH_SHORT).show(); 
    return false; 
} 

@Override 
public boolean onSingleTapConfirmed(MotionEvent e) { 
    Toast.makeText(mContext, "SINGLE CONF " + e.getAction(), Toast.LENGTH_SHORT).show(); 
    return false; 
} 

}

package noodies.blog.csdn.net;

import android.app.Activity; import android.os.Bundle; import android.view.GestureDetector; import android.view.MotionEvent;

public class GestureTestActivity extends Activity { private GestureDetector mGestureDetector;

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    mGestureDetector = new GestureDetector(this, new MyGestureListener(this)); 
} 

@Override 
public boolean onTouchEvent(MotionEvent event) { 
    return mGestureDetector.onTouchEvent(event); 
} 

}</pre>

 本文由用戶 nnkde 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!