【问题标题】:Drag-Drop Android Launcher / GridView Issue - Android / Java拖放 Android 启动器 / GridView 问题 - Android / Java
【发布时间】:2013-12-27 16:09:49
【问题描述】:

我有一个gridView,我根据在线示例/教程创建了一个GridView,我试图弄清楚当一个新项目被拖动到GridView 中的一个先前存在的项目上时如何更改行为。目前,当一个新项目被拖到gridView 上时,它会删除当前图标(留下红色空方块[icon.png 是代码用作背景图像的空方块网格])

我已经多次浏览示例的源代码,但我不知道如何更改将一个项目拖到另一个项目上时发生的行为

截图:

源码:

https://drive.google.com/file/d/0B6jCh_IJdtoFYWFJMlk5MHhlX3c/edit?usp=sharing

附言

我相信问题可能出在 DragView 或 DropTarget 类中。 (请随意下载整个项目——我已经将整个项目提供给大家,可以轻松下载)

【问题讨论】:

    标签: java android drag-and-drop android-gridview android-launcher


    【解决方案1】:

    查看 ImageCell 中的 onDragEnter 和 onDragExit 方法。这两种方法是当您的手指经过网格上的一个单元格时调用的方法。他们设置了图像视图的背景。

    onDragEnter: int bg = mEmpty ? R.color.cell_empty_hover:R.color.cell_filled_hover; 设置背景资源 (bg);

    onDragExit: int bg = mEmpty ? R.color.cell_empty:R.color.cell_filled; 设置背景资源 (bg);

    颜色定义在 mycolor.xml 中。

    参考:http://blahti.wordpress.com/2012/03/03/improved-drag-drop-for-gridview/

    【讨论】:

    • 非常感谢 Lahti 先生 - 非常感谢您的帮助。
    • 我还有一个与您的教程相关的问题...您可以看看吗? stackoverflow.com/questions/20911739/…
    • @Bill Lahti,当用户拖动视图尝试删除屏幕上不可见的视图时,是否可以在 gridview 中滚动,因此需要垂直滚动。我用过下面的代码。但它返回 droptarget “null”。整数阈值=10;整数偏移=5; case MotionEvent.ACTION_MOVE: int height=gridview.getMeasuredHeight();浮动 y=ev.getY(); if (height - y height - THRESHHOLD) { gridview.smoothScrollByOffset(-OFFSET); }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    相关资源
    最近更新 更多