Implement Drag & Drop in Gingerbread

2019-06-17 22:19发布

I need to know how I can implement Drag & Drop in Android for the Gingerbread version. As I know Gingerbread doesn't support that by default.

What I have coded: a ViewGroup class to hold dynamic added child, each child should after a long click be able to get moved through a finger tap/move. To solve this, i have a OnLongClickListener attached to each View's child and my ViewGroup have implemented both the methods onTouch() to get the down/up/move events and the method onLongClick() to response to the long click on each child.

Now my problem is as follows: I long tap a child, I can move it and can end the action through the ACTION_UP event. But, I can't long tap this child again - is there a way or library that can handle that?

I think, I don't need a really D&D library/function because I only will order some icons in this ViewGroup - each child gets added to the ViewGroup via code, so I don't have a really DropTarget I think.

2条回答
Explosion°爆炸
2楼-- · 2019-06-17 22:24

This example may help you. This example has a complete drag and drop framework for pre 3.0. And also the feature you are requesting with "dragging a dropped child" as default.

查看更多
贼婆χ
3楼-- · 2019-06-17 22:34

Look at the project at https://github.com/thquinn/DraggableGridView. This code really helped me out.

Follow the onLayout() and the onTouch() in the DraggableGridView class. Let me know if this was/wasn't helpful. It's very similar to your situation in regards to ViewGroup and adding views.

查看更多
登录 后发表回答