首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android:在网格视图中拖放end drop (android 4.0 +)

Android:在网格视图中拖放end drop (android 4.0 +)
EN

Stack Overflow用户
提问于 2013-03-15 22:45:37
回答 2查看 1.2K关注 0票数 0

在我的应用程序中,我有一个带有网格视图的屏幕,在那里我以2列的形式显示照片。我想添加通过拖拽结束下降重新排序照片的可能性。我使用的是android 4.0,我使用的是android原生拖放功能:

http://developer.android.com/guide/topics/ui/drag-drop.html

所以,我已经添加了拖放功能,但问题是,当用户试图将顶部图像拖到底部时,我需要滚动网格视图。使用smoothSctollTo()方法编程滚动gridView不是问题,但是当我拖动项目时,我需要检查手指是否在屏幕底部。问题是:

代码语言:javascript
复制
    @Override
    public boolean onDrag(final View v, final DragEvent event) {
        Log.v("Coordinates", " " + v.getY());
        switch (event.getAction()) {
        case DragEvent.ACTION_DRAG_STARTED:
            break;
        case DragEvent.ACTION_DRAG_ENTERED:
            break;
        case DragEvent.ACTION_DRAG_EXITED:
            break;
        case DragEvent.ACTION_DROP:
            break;
        case DragEvent.ACTION_DRAG_ENDED:
            break;
        default:
            break;
        }
        return true;
    }
};

只有当一个网格视图项目与另一个项目相交时,才会调用所有这些事件。但是当我将项目拖过干净的gridView空间时,on drag将不会被调用。当我拖动项目时,如何获得手指坐标?

EN

回答 2

Stack Overflow用户

发布于 2013-03-15 23:27:09

您可以实现DraggableGridViewPagedDragDropGrid,这两个工具都可以为您处理此问题。

编辑:这是一个直接扩展GridView的新库:https://github.com/askerov/DynamicGrid

票数 1
EN

Stack Overflow用户

发布于 2013-03-15 22:50:18

根据我对android的了解,我建议你设置一个OnTouchListener到你想要滚动的视图,这样如果你已经到达w视图的底部(根据视图的位置和高度做一些计算),你就可以开始滚动了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15435311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档