【问题标题】:Android drag imageview with finger behaves strangeAndroid用手指拖动imageview表现奇怪
【发布时间】:2013-03-04 04:11:13
【问题描述】:

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

请帮我解决这个问题

@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;
    }

【问题讨论】:

    标签: java android imageview drag move


    【解决方案1】:
    RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) mImagePreView.getLayoutParams();
    layoutParams.leftMargin += offsetX;
    layoutParams.topMargin += offsetY;
    

    还有错误:

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

    X - 绝对坐标中的事件,marginParams.leftMargin - 坐标相对于父布局

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-29
      • 1970-01-01
      • 2016-04-26
      • 1970-01-01
      • 2012-08-15
      • 2013-01-18
      相关资源
      最近更新 更多