美文网首页Android技术知识Android开发程序员
【源码解析】Launcher 8.0源码(1)---Launch

【源码解析】Launcher 8.0源码(1)---Launch

作者: lonamessi | 来源:发表于2018-10-10 14:11 被阅读10次

    刚刚换了家新工作,主要业务是做Launcher的开发,新的工作也意味着新的挑战,之前没有接触过Launcher的开发,接下来就跟着我一起学习launcher吧,由于不能泄露公司项目内容,只做Launcher源码的分析,以后会一起学习如何定制自己的Launcher。

    概述

    说道Launcher,想必大家也都不陌生,很多人感觉很深奥的一个东西,其实他就是一个,launcher其实就是一个app,从功能上说,是对手机上其他app的一个管理和启动,从代码上说比其他app多了一个属性,就是在AndroidManifest.xml文件中多了一个“<category android:name="android.intent.category.HOME" />”属性 和<action android:name="android.intent.action.MAIN" />,考虑的方面比较多,逻辑处理和代码规范性比较强,安卓各方面知识的应用比较多。如果系统只安装了一个launcher,就会直接开启此launcher,如果装有多个Launcher,运行的时候会弹出对话框供我们选择。杰西莱我们就一步步来进行研究吧。

    桌面结构

    我们来看一下桌面结构图

    543562-1e03eda6ae2e72f9.png

    最外层,也就是手机显示层是一个叫做Workspace的控件。
    其实在Workspace外层还有一个DragLayer层。
    searchDropTargetView为顶部搜索栏。
    CellLayout为中间主题屏幕,有一个或者多个,主要用来装快捷方式或者一些小部件,(负一屏一般是一个独立的View,不是CellLayout)。
    中间的知识点叫做PageIndicator,用来指示当前处在哪个CellLayout。
    Hotseat是底部的四个小图标主要放电话,短信等常用应用图标。左右滑动屏幕时,Hotseat不做滑动处理。

    具体的框架图就是这样的
    543562-9318be897211607b.png

    当用户长安桌面时,中间的CellLayout会缩小,下面的Hotseat,pageIndicator和上面的搜索栏SearchDropTargetView会隐藏,显示出隐藏的三个菜单按钮(壁纸,小部件,设置 即:WALLPAPERS,WIDGETS,SETTINGS)此布局叫做Overviewpanel。三个菜单按钮点进去都有一个View。


    543562-db28226106da443a.png

    这就是桌面的基本结构,接下来会讲解Launcher的启动过程,数据的绑定,拖拽,等等的一些源码知识。

    相关文章

      网友评论

        本文标题:【源码解析】Launcher 8.0源码(1)---Launch

        本文链接:https://www.haomeiwen.com/subject/fifpaftx.html