1. 首先我们明白GridView拖拽的思路:
(1)根据手指按下的X,Y坐标来获取我们在GridView上面点击的item。
(2)手指按下的时候使用Handler和Runnable来实现一个定时器,假如定时时间为1000毫秒,在1000毫秒内,如果手指抬起了移除定时器,没有抬起并且手指点击在GridView的item所在的区域,则表示我们长按了GridView的item。
(3)如果我们长按了item则隐藏item,然后使用WindowManager来添加一个item的镜像在屏幕用来代替刚刚隐藏的item。
(4)当我们手指在屏幕移动的时候,更新item镜像的位置,然后在根据我们移动的X,Y的坐标来获取移动到GridView的那一个位置。
(5)到GridView的item过多的时候,可能一屏幕显示不完,我们手指拖动item镜像到屏幕下方,要触发GridView想上滚动,同理,当我们手指拖动item镜像到屏幕上面,触发GridView向下滚动。
(6)GridView交换数据,刷新界面,移除item的镜像。
2.
时间: 2024-10-03 06:20:20