您的位置:首页 > 移动开发 > Android开发

(1)Android 4.4 Launcher3桌面源码分析

2014-10-07 09:08 459 查看
由于工作的原因,对Android的桌面有了一些了解。之前一段时间对桌面的构成十分模糊,最近看代码该代码发现渐渐有了感觉,所以准备写一系列分析安卓桌面的文章。

市面上有很多桌面产品,比如91桌面,go桌面,小米桌面等等,虽说千差万别,但都完成了桌面的基本任务,比如说组织图标,拖动图标,滑动页面,显示小工具等等功能。桌面跟其他Android App很大的不同是,他只有一个Activity,但是这个Activity却十分复杂,用几个自定义View把Android的触摸事件的处理玩儿的眼花缭乱,没有长时间的折腾是很难熟悉的。

我分析的代码主要是Android 4.4 上的Launcher3,就是原生桌面(以后我会交替使用Launcher3和桌面这俩叫法,其实指的是一个东西)。他的代码在这里获取:

https://android.googlesource.com/platform/packages/apps/Launcher3/

git库的地址也在网页中也有显示了,可惜的是以上代码需要在源码中编译(下载整个Android源码,完整编译,然后再对桌面进行修改,单个编译)。不过我进行了简单的更改使得它可以在eclipse中编译通过,链接在这里:

https://github.com/fookwood/Launcher3

大致就是删除了两个文件,增删几行代码,你可以从历史提交记录中查看。好了,如果你从上面链接中下载了代码并且导入到了eclipse当中,不妨在自己的手机上运行下看看效果,对桌面有个感性认识。

算是给自己挖了一个大坑,不知道什么时候能够填满。主要有以下东西要填:

Launcher代码结构
Launcher的加载启动流程
Launcher的布局构成
图标的拖拽流程
分屏的滑动流程
。。。

恩,就这样.

PS:后续的文章请点页面上方的“ANDROID”,^_^
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: