1.View是界面層控件的抽象,也就是一個控件,是界面層最基本的組成單位。
ViewGroup是控件組,是View的容器。
ViewGroup是多個控件組成的控件,以此構成View樹的結構。
2.VelocityTracker用於追蹤手指的滑動速度
使用方法:在View的onTouchEvent中添加如下代碼:
VelocityTracer velocityTracker = VelocityTracker.obtain();
velocityTracker.addMovement(event);
//1000ms內手指移動的像素數
velocityTracker.computeCurrentVelocity(1000);
int xVelocity = (int)velocityTracker.getXVelocity();
int yVelocity = (int)velocityTracker.getYVelocity();
當不再需要使用時,需用下面代碼回收
velocityTracker.clear();
velocityTracker.recycle();
3.GestureDetecor使用方法
1.在當前類中創建一個GestureDetector實例:
private GestureDetector mGestureDetector;
2.創建一個Listener來實時監聽當前面板操作手勢:
class LearnGestureListener extends GestureDetector.SimpleOnGestureListener
3.在初始化時,將Listener實例關聯當前的GestureDetector實例:
mGestureDetector = new GestureDetector(this, new LearnGestureListener());
4.利用onTouchEvent方法作爲入口檢測,通過傳遞MotionEvent參數來監聽操作手勢:
mGestureDetector.onTouchEvent(event);
接口中方法有:
onDown(手指觸摸屏幕一瞬間,ACTION_DOWN觸發)
onShowPress(手指輕輕觸摸屏幕,沒有鬆開,沒有拖動,ACTION_DOWN觸發)
onSingleTapUp(手指輕輕觸摸屏幕後鬆開,ACTION_UP觸發,單擊行爲)
onScroll(手指按下並在屏幕上拖動,由ACTION_DOWN和若干ACTION_MOVE組成)
onLongPress(長久按着屏幕不放)
onFling(按下屏幕,快速滑動後鬆開,由ACTION_DOWN 和若干 ACTION_MOVE 和一個ACTION_UP組成)
onDoubleTap(雙擊,由兩次連續的單擊組成)
onSingleTapConfirmed(單擊行爲,但這和onSingleTapUp不同,他不能再緊跟着發生單擊行爲,所以和onDoubleTap是互斥存在的)
onDoubleTapEvent(雙擊事件,期間ACTION_DOWN,ACTION_MOVE,ACTION_UP都會引發該事件)
參考:Android開發藝術探索