Android手勢監聽 OnGestureListener (短按,長按,慢滑動,快滑動)

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

/**

  • @以下方法中的參數解釋:
  • @e1:第1個是 ACTION_DOWN MotionEvent 按下的動作
  • @e2:后一個是ACTION_UP MotionEvent 抬起的動作(這里要看下備注5的解釋)
  • @velocityX:X軸上的移動速度,像素/秒
  • @velocityY:Y軸上的移動速度,像素/秒 */ @Override public boolean onDown(MotionEvent e) { // ACTION_DOWN v_str.add("onDown"); return false; }

@Override // ACTION_DOWN 、短按不移動 public void onShowPress(MotionEvent e) { v_str.add("onShowPress");

}

@Override // ACTION_DOWN 、長按不滑動 public void onLongPress(MotionEvent e) { v_str.add("onLongPress"); }

@Override // ACTION_DOWN 、慢滑動 public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { v_str.add("onScroll"); return false; }

@Override // ACTION_DOWN 、快滑動、 ACTION_UP public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { v_str.add("onFling"); // -------備注5---------- // if(e1.getAction()==MotionEvent.ACTION_MOVE){ // v_str.add("onFling"); // }else if(e1.getAction()==MotionEvent.ACTION_DOWN){ // v_str.add("onFling"); // }else if(e1.getAction()==MotionEvent.ACTION_UP){ // v_str.add("onFling"); // } // if(e2.getAction()==MotionEvent.ACTION_MOVE){ // v_str.add("onFling"); // }else if(e2.getAction()==MotionEvent.ACTION_DOWN){ // v_str.add("onFling"); // }else if(e2.getAction()==MotionEvent.ACTION_UP){ // v_str.add("onFling"); // } if (isChagePage) bmp = BitmapFactory.decodeResource(getResources(), R.drawable.himi_dream); else bmp = BitmapFactory.decodeResource(getResources(), R.drawable.himi_warm); isChagePage = !isChagePage; return false; }

@Override // 短按ACTION_DOWN、ACTION_UP public boolean onSingleTapUp(MotionEvent e) { v_str.add("onSingleTapUp"); return false; }</pre>

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