我目前正在制作一个Android应用程序,允许用户将一些列表中的图像添加到屏幕上,并允许用户在其上拖动图像。
我可以使用onTouch方法拖动图像。 但是当我将图像视图拖动到左侧或底部尺寸
时,我遇到了一个问题图像视图将自动调整大小,无法将其拖动到布局中。
如何在不调整图像视图大小的情况下将其拖到布局外?
@Override
public boolean onTouch(View view, MotionEvent event) {
ImageView imageView = (ImageView)view;
imageView.bringToFront();
// Handle event
switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN: {
startPoint.set(event.getX(), event.getY());
currentMode = EVENT_DRAG;
break;
}
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_POINTER_UP: {
currentMode = EVENT_NONE;
break;
}
case MotionEvent.ACTION_MOVE: {
RelativeLayout.LayoutParams layoutPrarms = (RelativeLayout.LayoutParams)imageView.getLayoutParams();
int left = layoutPrarms.leftMargin + (int)(event.getX() - startPoint.x);
int top = layoutPrarms.topMargin + (int)(event.getY() - startPoint.y);
layoutPrarms.leftMargin = left;
layoutPrarms.topMargin = top;
imageView.setLayoutParams(layoutPrarms);
break;
}
}
// Indicate event was handled
return true;
}
答案 0 :(得分:1)
尝试将父布局设为LinearLayout。我只使用RelativeLayouts遇到了这个问题。