2011-08-18 62 views
1

如何在android中設計可移動(拖放)視圖。設計活動視圖:Android

在我的情況 enter image description here

將有四排,所有會移動。

用戶可以安排所有4行1234,2341,3421,1243 ...... 1234

任意組合那麼,怎樣才能將是?

所有行都是佈局。

回答

1

讓一個成員聲明用於保存當前拖動的位圖,視圖和當前拖動x和y座標。

*覆蓋父視圖的onTouch

*在ACTION_DOWN事件中,通過調用getDrawingCache()獲取拖動視圖的圖形緩存(Bitmap)並設置爲拖動位圖成員。使佈局無效(以便onDraw被調用,繪製當前拖動的視圖)。隱藏當前的拖動視圖。

* ACTION_MOVE在當前x座標和y座標處繪製(無效)拖動視圖位圖。

*在ACTION_UP銷燬拖動位圖。計算當前放置位置並將當前拖動視圖添加到佈局中的該位置。取消隱藏當前的拖動視圖。重置拖動成員。

onDraw的父佈局。

canvas.save(); 
canvas.drawBitmap(mDragBmp, mDragX, mDragY); 
canvas.restore(); 

希望它有幫助。

+0

如果您添加一些鏈接,它會更有幫助。 –

+0

它不像看起來那麼困難。我盡力找到解決方案的任何鏈接。你可以嘗試使用Android的DragLayer實現(從android代碼),這將需要至少一天。 – Ronnie

+0

謝謝,在這個時候我沒有實現你的邏輯,但它對我非常有用,我將來會用到它。 –