开发Android APP的同窗是否对于Launcher实现的绚丽效果而痴迷呢?什么,连Android Launcher是什么都不知道。好吧,拿起侬的手机,在解锁后的首页界面上左右滑动滑动,体验体验,这个就是Launcher。 android
Launcher其实也是一个APP,不过人家是系统级别的。虽然各个android手机厂商对Launcher的定制化程度比较高,可是为了不用户使用的困惑,Launcher的操做和功能基本都差很少。下面简单介绍下Launcher桌面的几个共同特征。 git
一、分屏显示APP图标和名称 github
二、APP图标能够在当前屏幕中拖动,稍牛逼的能够跨屏拖动 微信
三、在拖动过程当中交换位置,出现一系列漂亮的位移动画 学习
四、拖动结束后,Lancher会记住从新排列的位置 动画
五、APP图标能够被删除,删除后,后面的图片会依次向前位移过去 spa
六、横向滑动Launcher进行切屏,背景图片会联动起来 .net
总结完毕,介绍那么多,都是为了今天的干货作陪衬。今天十足的干货,份量极沉,沉甸甸压得我一天都不得空闲,只为挤出时间整理出实现的代码。下面介绍下今天干货相对于原生Launcher的优点。 orm
一、分屏数能够无限扩展,能够为一屏,也能够为10屏,同时也不用为OOM烦恼,滑动也至关的流畅 图片
二、每一个Item的图标能够为两张图片,一张Normal状态下显示,一张Press状态现实
三、动态设置每屏的行数和列数,示例代码使用的是4行2列,而且自动计算item的宽度和高度
四、动态设置Container的item总数,根据行数列数,自动计算页数
五、长按便可进入编辑模式,点击便可删除item;添加item也是至关的简单方便。
下面看下静止的效果,想把玩一番的同窗请去Github下载安装
今天代码都不贴了,源码的注释写的很详细,相信阅读起来应该没有什么困难。对于喜欢研究Android特效的同窗和业务上有这种需求的同窗,相信今天的干货会帮助蛮大的。为了效果上的美观,我A了上个东家的几张图,但愿你们不要商用,仅供学习交流之用。
代码地址:https://github.com/JackCho/AndroidLauncher
若是以为对你有所帮助,欢迎你们订阅个人微信公众帐号——Android干货分享(ID:android_share)。下面是微信的二维码,为你提供及时高质的Android干货。技术交流QQ群:318588906,欢迎你们加群,共同探讨下Android和Java技术,一块儿壮大咱们的微信干货分享社区。