2012-04-24 100 views
0

我目前正在製作一個android應用程序,允許用戶從列表中添加一些圖像到屏幕上,並允許用戶在圖像上拖動圖像。Android在RelativeLayout中拖動圖像視圖調整大小

我可以通過使用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; 
} 

回答

1

嘗試讓您的父佈局爲LinearLayout。我只使用RelativeLayouts來解決這個問題。

+0

我試過LinearLayout,但仍然沒有運氣:s,任何其他的想法? – user1509803 2016-08-02 10:12:38