将图标拖放到主屏幕

更新:为了理解我的问题,这里是我需要实现的:将应用程序抽屉中的图标拖到主屏幕( 如果可能的话不在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> ... 

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

  • 它没有边距而膨胀视图
  • LayoutInflater有时(随机)膨胀与错误的背景颜色
  • setContentView和LayoutInflater之间的区别
  • 滚动回收站视图时如何防止重复项目
  • 在非Activity类中findViewById
  • 在Android中获取布局充气器的正确方法是什么?
  • 无条件布局,从视图适配器的通货膨胀:应该使用视图持有者模式
  • 是否build议检查视图为null与每个findViewById调用?
  • 看看添加到WindowManager(WM)的视图。 当你长时间按下要拖动的项目时,创build该项目的自己的位图并将其添加到WM,以便可以在没有视图边界约束的情况下移动它。 当你收到一个ACTION_UP或者等价的事件时,把你当前的x,y映射到拖拽项目正下方的实际视图(Rect类可能会有帮助)。 然后,您可以将此项目添加到该特定的视图。