将图标拖放到主屏幕

更新:为了理解我的问题,这里是我需要实现的:将应用程序抽屉中的图标拖到主屏幕( 如果可能的话不在GridView中)

在这里输入图像说明

旧的(这只是为了学习如何工作):

我试图实现拖动可点击的图标从一个ListView到没有容器( Listview or Gridview... )的自customView在同一个活动或另一个,这里是一个图片,让你更多地了解:

在这里输入图像说明

但是当我把图标放在正确的区域, 我没有看到对象 ,在日志中我看到: I/ViewRootImpl﹕ Reporting drop result: true

在这里输入图像说明

在这里我的代码:

 class MyDragListener implements View.OnDragListener { @Override public boolean onDrag(View v, DragEvent event) { int action = event.getAction(); switch (event.getAction()) { ... case DragEvent.ACTION_DROP: LinearLayoutAbsListView itemo = (LinearLayoutAbsListView)findViewById(R.id.paneko); View child = getLayoutInflater().inflate(R.layout.list_item, null); itemo.addView(child); break; case DragEvent.ACTION_DRAG_ENDED: default: break; } return true; } } 

我的XML文件:

 ... <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="2" android:background="@android:color/background_dark" android:orientation="horizontal" > <com.moapps.elfassimounir.simple.LinearLayoutAbsListView android:id="@+id/paneuj" android:background="@android:color/background_light" android:orientation="vertical" > <ListView android:id="@+id/listview1" android:layout_width="100dp" android:layout_height="wrap_content" /> </com.moapps.elfassimounir.simple.LinearLayoutAbsListView> <com.moapps.elfassimounir.simple.LinearLayoutAbsListView android:id="@+id/paneko" android:background="@android:color/background_light" android:orientation="vertical" > </com.moapps.elfassimounir.simple.LinearLayoutAbsListView> </LinearLayout> ... 

任何信息或参考(教程,文档…)将是非常有帮助的

Solutions Collecting From Web of "将图标拖放到主屏幕"

看看添加到WindowManager(WM)的视图。 当你长时间按下要拖动的项目时,创build该项目的自己的位图并将其添加到WM,以便可以在没有视图边界约束的情况下移动它。 当你收到一个ACTION_UP或者等价的事件时,把你当前的x,y映射到拖拽项目正下方的实际视图(Rect类可能会有帮助)。 然后,您可以将此项目添加到该特定的视图。