用手指拖动Android图像视图表现奇怪

问题描述:

我正在实现imageview拖动功能到我的应用程序。 我尝试了下面的代码,但它的行为很奇怪。当我尝试拖动图像 它改变了位置,并在移动过程中显示缩放图像。 我想用手指平滑地移动图像。用手指拖动Android图像视图表现奇怪

请帮我解决这个问题

@Override 
    public boolean onTouch(View v, MotionEvent event) { 
     final int X = (int) event.getRawX(); 
     final int Y = (int) event.getRawY(); 
     MarginLayoutParams marginParams = new MarginLayoutParams(mImagePreView.getLayoutParams()); 

     switch (event.getAction()) { 

     case MotionEvent.ACTION_DOWN: 
      _xDelta = X - marginParams.leftMargin; 
      _yDelta = Y - marginParams.topMargin; 
      break; 
     case MotionEvent.ACTION_MOVE: 
      marginParams.leftMargin = X-_xDelta; 
      marginParams.topMargin = Y - _yDelta; 
      marginParams.rightMargin = -250; 
      marginParams.bottomMargin = -250; 

      FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(marginParams); 
      mImagePreView.setLayoutParams(layoutParams); 

      break; 
     default: 
      break; 
     } 
     return true; 
    } 

RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) mImagePreView.getLayoutParams(); 
layoutParams.leftMargin += offsetX; 
layoutParams.topMargin += offsetY; 

而且有错误:

_xDelta = X - marginParams.leftMargin; 
    _yDelta = Y - marginParams.topMargin; 

X - 在绝对坐标事件,marginParams.leftMargin - 坐标是相对父布局