1. 程式人生 > >view的事件體系1

view的事件體系1

1. view的位置由其四個定點來確定,即top,left,right,bottom,分別表示相對父容器的座標,即相對座標,獲取方式;top=getTop;

2. 自android3.0(api9)後增加了x,y,translateX,translateY這幾個屬性,translateX表示view的相對於自身左上角頂點的位移,而x=top+translateX;x指view相對於父容器的左上角座標;

3. MotionEvent類中包含了手指觸屏事件的基本型別,即ACTION_DOWN、ACTION_MOVE、ACTION_UP;同時通過MotionEvent物件還能獲取到事件出發的位置座標,

    3.1 獲取相對於當前view左上角的座標:getX(),getY()

    3.2 獲取相對於螢幕左上角的座標:getRawX();getRawY();

4. TouchSlop:判斷為滑動的最小距離,我的理解是判斷為ACTION_MOVE事件的標準距離;該值預設為8dp,但是在不同裝置商可能不相同;

    4.1 獲取方式:Configuration.get(getContext(()).getScaledTouchSlop();Configuration類是一個配置類,關於裝置的很多初始值都在該類中;

5. velocitytracker速度追蹤:在view的onTouchEvent()方法中註冊:

    Velocitytracker velocity=VelocityTracker.obtion();

    velocity.addMovement(event);

    velocity.computeCurrentvelocity(1000);設定單位時間,單位是毫秒,該項必須在獲取速度之前設定;

    velocity.getXvelocity()獲取x方向上的速度;當前表示一秒內手指滑動的速度;