2014-01-29 23 views
1

我有ViewPager,我想它上下移動使用onTouchonTouch事件和行動移動機器人

@Override 
    public boolean onTouch(View v, MotionEvent event) { 
     final int X = (int) event.getX(); 
     final int Y = (int) event.getY(); 
      if (flagMeal) 
      { 
       switch (event.getAction()) { 
       case MotionEvent.ACTION_DOWN: 
        xOffset = X; 
        yOffset = Y; 
       break; 
       case MotionEvent.ACTION_MOVE: 
        float x= xOffset - event.getX() ; 
        float y = yOffset - event.getY() ; 
        ViewGroup.MarginLayoutParams p = (ViewGroup.MarginLayoutParams) mViewPager.getLayoutParams(); 
        p.topMargin = (int) -y ; 
        p.bottomMargin = (int) y ; 
        mViewPager.setLayoutParams(p); 
        // mViewPager.invalidate(); 
        break; 

       default: 
        break; 
       } 
      } 
     return true; 
    } 

它的工作,但認爲在正確的位置繪製一次,一次在老位置它看起來像振動運動 我有沒有想念任何事情?

回答

0

其實我發現這個問題 這是從event.getY()應該event.getRawY() 但我不知道原因 任何解釋?