gpt4 book ai didi

java - Android 用手指拖动 imageview 行为很奇怪

转载 作者:行者123 更新时间:2023-12-01 04:49:45 25 4
gpt4 key购买 nike

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

请帮我解决这个问题

@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 - 坐标相对于父布局

关于java - Android 用手指拖动 imageview 行为很奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15194431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com