0

我目前正在制作一个 android 应用程序,它允许用户从列表中添加一些图像到屏幕上,并且允许用户在其上拖动图像。

我可以使用 onTouch 方法拖动图像。但是我遇到了一个问题,当我将图像视图拖动到左侧或底部大小时

imageview 将自动调整大小并且不能将其拖出到布局中。

如何在不调整图像视图大小的情况下将其拖到布局之外?

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

1 回答 1

1

尝试让您的父布局为 LinearLayout。我只使用RelativeLayouts 遇到了这个问题。

于 2012-08-16T20:00:36.790 回答