在我的应用程序中,我有一个带有网格视图的屏幕,在那里我以2列的形式显示照片。我想添加通过拖拽结束下降重新排序照片的可能性。我使用的是android 4.0,我使用的是android原生拖放功能:
http://developer.android.com/guide/topics/ui/drag-drop.html
所以,我已经添加了拖放功能,但问题是,当用户试图将顶部图像拖到底部时,我需要滚动网格视图。使用smoothSctollTo()方法编程滚动gridView不是问题,但是当我拖动项目时,我需要检查手指是否在屏幕底部。问题是:
@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将不会被调用。当我拖动项目时,如何获得手指坐标?
发布于 2013-03-15 23:27:09
您可以实现DraggableGridView或PagedDragDropGrid,这两个工具都可以为您处理此问题。
编辑:这是一个直接扩展GridView的新库:https://github.com/askerov/DynamicGrid
发布于 2013-03-15 22:50:18
根据我对android的了解,我建议你设置一个OnTouchListener到你想要滚动的视图,这样如果你已经到达w视图的底部(根据视图的位置和高度做一些计算),你就可以开始滚动了。
https://stackoverflow.com/questions/15435311
复制相似问题