Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android OnGestureListener的一些體會

Android OnGestureListener的一些體會

編輯:Android開發實例

一個activity中new一個GestureDetector之後,裡面會實現一下的方法:

onSingleTapUp

onShowPress

onScroll

onLongPress

onFling

onDown

 

說一下這些方法都是由那些MotionEvent觸發的

今天的項目用到了onSingleTapUp和onShowPress和onLongPress和onFling;

//用戶(輕觸觸摸屏後)松開,由一個1個MotionEvent ACTION_UP觸發

onSingleTapUp     這個事件執行的順序是onDown-》onShowPress-》onSingleTapUp

// 用戶輕觸觸摸屏,尚未松開或拖動,由一個1個MotionEvent ACTION_DOWN觸發

// 它與onDown()的區別,強調的是沒有松開或者拖動的狀態

onShowPress

onDown也是由一個MotionEvent ACTION_DOWN觸發的,但是他沒有任何限制,也就是說當用戶點擊的時候,首先MotionEvent ACTION_DOWN,onDown就會執行,如果在按下的瞬間沒有松開或者是拖動的時候onShowPress就會執行,如果是按下的時間超過瞬間(這塊我也不太清楚瞬間的時間差是多少,一般情況下都會執行onShowPress),拖動了,就不執行onShowPress

// 用戶長按觸摸屏,由多個MotionEvent ACTION_DOWN觸發

onLongPress     這個事件執行的順序是onDown-》onShowPress-》onLongPress

// 用戶按下觸摸屏、快速移動後松開,由1個MotionEvent ACTION_DOWN, 多個ACTION_MOVE, 1個ACTION_UP觸發

onFling

另外需要說的一點就是:

如果你是在一個大的view上裝載了一個一個的小view,如果你想讓大的view有界面動態效果(比如左右向下滑動),那麼你必須將這些小的view加入setOnTouchListener,然後你可以在OnTouchListener方法中加入如下方法將你的MotionEvent事件傳到gestureDetector中。如下:

switch (event.getAction()) {
                        case MotionEvent.ACTION_MOVE: {
                            gestureDetector.onTouchEvent(event);
                            break;
                        }// inner case MOVE
                        case MotionEvent.ACTION_UP: {
                            v.setPressed(false);
                            Log.i("cat", "CCCCCCCCCCCCCCCC");
                            gestureDetector.onTouchEvent(event);
                            // TODO animation
                            return true;
                        }// inner case UP
                        case MotionEvent.ACTION_DOWN: {
                            v.setPressed(true);
                            gestureDetector.onTouchEvent(event);
                            break;
                        }// inner case UP
                    }// inner switch

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved