文件名称:仿Launcher的GridView拖动.zip
文件大小:3.91MB
文件格式:ZIP
更新时间:2022-07-30 17:27:00
安卓源码-视图效果
仿Launcher的GridView拖动是一个长按GridView的item,然后将其拖拽其他item上面,使得GridView的item发生交换,比较典型的就是我们的Launcher,网上有很多关于GridView的拖动的Demo,但是大部分都是相同的,而且存在一些Bug,而且大部分都是点击GridView的item然后进行拖动,或者item之间不进行实时交换,今天给大家更加详细的介绍GridView拖拽,并且将Demo做的更完美。 实现思路: 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的镜像 本例子来自于CSND xiaanming的博客,详细的源码分析已经帮大家离线成pdf文档了。
【文件预览】:
DragGridView
----.project(848B)
----project.properties(563B)
----DragGridViewDemo.gif(1.31MB)
----src()
--------com()
----AndroidManifest.xml(980B)
----res()
--------drawable-ldpi()
--------drawable-hdpi()
--------values-v11()
--------menu()
--------drawable-mdpi()
--------layout()
--------drawable-xhdpi()
--------values()
--------values-v14()
----Android 可拖拽的GridView效果实现, 长按可拖拽和item实时交换 .pdf(1.94MB)
----.settings()
--------org.eclipse.jdt.core.prefs(177B)
----assets()
----gen()
--------com()
----libs()
--------android-support-v4.jar(377KB)
----.classpath(475B)
----proguard-project.txt(781B)
----说明.htm(4KB)
----ic_launcher-web.png(54KB)
----bin()
--------resources.ap_(38KB)
--------MainActivity.apk(191KB)
--------classes()
--------AndroidManifest.xml(980B)
--------dexedLibs()
--------jarlist.cache(120B)
--------res()
--------classes.dex(442KB)