Android 自定义 View 实现可拖拽的 GridView 控件
在网易新闻中有一个新闻栏目管理,其中GridView的item是可以拖拽的,效果十分炫酷。具体效果如下图:
是不是也想自己也想实现出相同的效果呢?那就一起来往下看吧。
首先我们来梳理一下思路:
- 当用户长按选择一个item时,将该item隐藏,然后用WindowManager添加一个新的window,该window与所选择item一模一样,并且跟随用户手指滑动而不断改变位置。
- 当window的位置坐标在GridView里面时,使用
pointToPosition (int x, int y)
方法来判断对应的应该是哪个item,在adapter中作出数据集相应的变化,然后做出平移的动画。