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