2011-08-18 72 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

谢谢,在这个时候我没有实现你的逻辑,但它对我非常有用,我将来会用到它。 –