现在的位置: 首页 > 综合 > 正文

android 横向滑动多屏(开源项目)

2013年03月11日 ⁄ 综合 ⁄ 共 1118字 ⁄ 字号 评论关闭

我们团队项目中需要使用横向滑动多屏的效果,主要是因为看到qq浏览器主界面使用该效果感觉很好。开始采用了ViewFlipper结合手势,可是没有拖拽的效果,后来参照了以下链接开发出来了:

1. 在flipper中如何实现手动拖拽的效果?

这位和我们一样遇到同样的问题

2. android: how to create different “screens” and nav between them using touch-and-drag?

There are no widgets built into Android to do this. You can look at the source code of the existing home screen to see how it does
it, or use 
ViewFlipper and
the new gesture system to attempt to emulate it.

这个给了我们启发,看launcher源码不就可以了吗

3.将android launcher2导入eclipse中运行

4.android launcher源码分析

5.android workspace分析

launcher2中关于滑动多屏的代码主要在 workspace类中,不过它里面还包含了拖拽、壁纸设置、appwidget、文件夹、快捷方式、应用列表控制等,代码太多有1500多行,把那些无关的代码去掉,杯具啊还是没有成功啊。不过程序原理是清楚了,就是自定义一个布局,所有的子view大小是布局大小,然后按顺序横向扩展,这时候加上滚动条的配合,就达到效果了,再加上划过一半或速度超过特定值,就重绘下个子view,基本就OK了。可惜啊,就不是没成功,不过有下位仁兄的帮助:

最近做的一个仿launch横向滑动多屏的DEMO  ,可惜该论坛没积分没法下载,还好csdn资源里也有 http://download.csdn.net/download/fhy_2008/3692852

这个下载的项目直接可以运行,比较launcher2代码,主要是触摸事件处理不同,不知道是不是和那位仁兄看的版本不同,反正可以用了,以后再研究吧。我们代码在这个基础上做了一些改良,就先用起来了。

我们团队商量决定给android社区做点贡献,在google code 开了一个项目 tfdroid  http://code.google.com/p/tfdroid/,该项目主要是提供android高级控件,横向滑动多屏就是提供的第一个控件,希望有兴趣的朋友能加入,大家共同为社区做贡献。

如果需要横向滑动多屏请到 tfdroid  http://code.google.com/p/tfdroid/,多多支持开源社区。效果如下:

抱歉!评论已关闭.