Android 仿今日头条 可拖动的GridView 代码实例详解
2015-03-07 20:21
691 查看
本文是对我之前看的csdn上一篇仿今日头条博客案例的简单实例,那个博客的案例代码比较多,有很多功能,在这里我附上简略过后的代码。特别感谢原作者的博客,从中学到了很多知识。
原博客为:http://blog.csdn.net/vipzjyno1/article/details/26514543。项目源码下载地址http://download.csdn.net/detail/vipzjyno1/7295005
还有另外一篇博客很好的解释了 原作者的Demo,特别详细,从三个角度分析了实现了拖动效果的过程
原博客地址为http://blog.csdn.net/chunqiuwei/article/details/41045743,其中作者很好的制作了图,
可以很好的理解移动过程中的坐标变化
下面先上这次原博客实现功能的效果图: 可长按拖动标签 右边是自己简化的,可拖动
![](http://img.blog.csdn.net/20150307205727049)
![](http://img.blog.csdn.net/20150307205848076)
2.了解屏幕触摸动作传递原理 这里我上面谈到的那篇博客很好的解释了过程
3.了解位移动画Animation,本DEMO中主要用到:TranslateAnimation 平移动画
4.了解WindowManager的窗口机制,这里的item拖拽等都要设计到这个。
5.BitMap的使用,悬浮窗口的使用
1.在GridView里public void setOnItemLongClickListener()中我们先通过对应点击的item,通过bitmap我们来
使item变成我们拖动的imageView,
2.随着我们手指的拖动位置会发生改变,我们通过windowManager.updateViewLayout(dragImageView, windowParams); 方法来更新拖动的图片的位置
3.public void OnMove(int x, int y) 这个函数可以使在拖动的过程中来改变其他项的位置,具体说明,我在上面以l
列出了博客地址,其中有很详细的说明
3.这里就不贴核心代码,Demo中有很详细的说明了,可以仔细看看
最后附上自己代码 (下载) 可拖动GridView ,不要积分。
原博客为:http://blog.csdn.net/vipzjyno1/article/details/26514543。项目源码下载地址http://download.csdn.net/detail/vipzjyno1/7295005
还有另外一篇博客很好的解释了 原作者的Demo,特别详细,从三个角度分析了实现了拖动效果的过程
原博客地址为http://blog.csdn.net/chunqiuwei/article/details/41045743,其中作者很好的制作了图,
可以很好的理解移动过程中的坐标变化
下面先上这次原博客实现功能的效果图: 可长按拖动标签 右边是自己简化的,可拖动
1.开发前须知
1.了解重写View的相关知识,并且知道GridView的一些内部方法,如:怎么通过触摸的坐标获取对应的position等(这里我采用的是继承GridView控件)2.了解屏幕触摸动作传递原理 这里我上面谈到的那篇博客很好的解释了过程
3.了解位移动画Animation,本DEMO中主要用到:TranslateAnimation 平移动画
4.了解WindowManager的窗口机制,这里的item拖拽等都要设计到这个。
5.BitMap的使用,悬浮窗口的使用
2.开发的思路
1.在GridView里public void setOnItemLongClickListener()中我们先通过对应点击的item,通过bitmap我们来使item变成我们拖动的imageView,
2.随着我们手指的拖动位置会发生改变,我们通过windowManager.updateViewLayout(dragImageView, windowParams); 方法来更新拖动的图片的位置
3.public void OnMove(int x, int y) 这个函数可以使在拖动的过程中来改变其他项的位置,具体说明,我在上面以l
列出了博客地址,其中有很详细的说明
3.这里就不贴核心代码,Demo中有很详细的说明了,可以仔细看看
最后附上自己代码 (下载) 可拖动GridView ,不要积分。
相关文章推荐
- Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO
- Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO
- Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO
- Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO
- Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO
- Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO
- Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO
- Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO
- Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO
- Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO
- Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO
- Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO
- Android 高仿 频道管理----网易、今日头条、腾讯视频 (能够拖动的GridView)附源代码DEMO
- Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO
- Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO
- Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO
- Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO
- Android 仿今日头条简单的刷新效果实例代码
- Android仿今日头条顶部导航栏效果的实例代码
- Android 仿今日头条频道管理(上)(GridView之间Item的移动和拖拽)