一个效果很华丽的仿桌面APP,却胜似Launcher
开发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技术,一起壮大我们的微信干货分享社区。

一个效果很华丽的仿桌面APP,却胜似Launcher的更多相关文章
- 一个效果非常华丽的仿桌面APP,却胜似Launcher
开发Android APP的同学是否对于Launcher实现的绚丽效果而痴迷呢?什么.连Android Launcher是什么都不知道.好吧,拿起侬的手机.在解锁后的首页界面上左右滑动滑动,体验体验, ...
- android点击桌面App图标activity启动流程
1.点击桌面App图标,Launcher进程采用Binder IPC向system_server进程发起startActivity请求:2.system_server进程接收到请求后,向zygote进 ...
- 仿建设银行APP首页效果
仿建设银行APP首页效果 下载地址: http://pan.baidu.com/s/1eRMYEzC 下载后需要解压,解压密码联系:390980233 收费88元 HTML+JS实现,下载即可试用. ...
- 【干货】零基础30分钟让你拥有一个完整属于自己的短视频APP系统
目录 一.附言: 1 二.购买域名和购买服务器: 2 三.搭建服务器环境: 5 四.配置APP前端部分: 8 1.工具以及文件准备: 9 2.配置后端接口地址 11 3.配置APP启动图和启动图标 ...
- 【手把手教程】uniapp + vue 从0搭建仿微信App聊天应用:腾讯云TXIM即时通讯的最佳实践
基于uniapp + vue 实现仿微信App聊天应用实践,实现以下功能 1: 用户登陆 2: 聊天会话管理 3: 文本/图片/视频/定位消息收发 4: 贴图表情消息收发 5: 一对一语音视频在线通话 ...
- Android中使用ExpandableListView实现微信通讯录界面(完善仿微信APP)
之前的博文<Android中使用ExpandableListView实现好友分组>我简单介绍了使用ExpandableListView实现简单的好友分组功能,今天我们针对之前的所做的仿微信 ...
- 如何实现桌面App图标可以动态显示消息数(类似手机上的QQ图标)?
手机上的APP , 像QQ和微信等都可以在图标上动态显示消息数(最大99) , 那么你有没有想过这些效果是如何实现的?桌面上开发的传统应用程序能否也实现类似的功能? 1 思路 桌面快捷方式的图标本质上 ...
- H5做的商城客户端,效果很不错
H5做的商城客户端,效果很不错 H5做的商城客户端,效果和android原生客户端没多大区别,现在h5是越来越火了, android的小伙伴们又遇到一个新的挑战了.本项目只能学习一下WebViewAc ...
- 很轻很强大:轻量级桌面环境比较(转自linuxeden)
这天你终于下定决心购买了一台流行的 Netbook ,与往常装机一样,直接安装心爱的 Linux 发行版.好不容易安装完成了,却发现平日启动飞快的应用程序在 Netbook 上怎么都跑不快.怎么办呢? ...
随机推荐
- 使用multimap创建重复键关联容器
在“使用 <map> 库创建关联容器”一文中,我们讨论了标准库中的 map 关联容器.但那只是 map 容器的一部分.标准库还定义了一个 multimap 容器,它与 map 类似,所不同 ...
- 【Todo】深入理解Java虚拟机 读书笔记
有一个在线系列地址 <深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)> http://book.2cto.com/201306/25426.html 已经下载了这本书(60多M ...
- ElasticSearch在Azure中的集群配置和Auto-Scale
最近在项目中ElasticSearch的使用越来越多,最新的项目中要求ES使用集群,在啥都不知道的情况下弄了两天后,终于搞定,因此写个笔记记录下. 1.首先我们需要创建一个Virtual networ ...
- 【转载】Mysql binlog relaylog 日志迁移
背景: 默认情况下,mysql的数据.binlog.relaylog都是保存在同一个磁盘上,路径根据每个人的设置不一. 当mysql数据库中数据或日志增长很快时,磁盘可能面临空间不够或者IO性能跟 ...
- gcc g++ 参数介绍
C和C++ 编译器是集成的.他们都要用四个步骤中的一个或多个处理输入文件: 预处理 (preprocessing),编译(compilation),汇编(assembly)和连接(linking).源 ...
- vijos 1379 字符串的展开
23333333333333333 #include<iostream> #include<cstdio> #include<cstring> #include&l ...
- 用canvas实现图片滤镜效果详解之视频效果
这是一个很有意思的特效,模拟摄像机拍摄电视屏幕画面时出现点状颗粒的效果.颗粒的大小通过变换矩阵实现,可以任意调节,有兴趣研究的朋友可以尝试更多的效果,代码没有经过优化,只是一个粗糙的Demo,大家可以 ...
- 【英语】Bingo口语笔记(52) - sleep系列
- phonegap配置启动动画
以下有2种方式 1 主Active中 onCreate函数里添加代码 2 config.xml文件进行配置(对通过命令行模式下cordova命令行生成的可行) 确保自己安装了SplashScreen插 ...
- liunx之tar 命令
tar命令 可以用来压缩打包单文件.多个文件.单个目录.多个目录. Linux打包命令_tar tar命令可以用来压缩打包单文件.多个文件.单个目录.多个目录. 常用格式: 单个文件压缩打包 tar ...