• Launcher3介绍


      对于Android10跟11体系Launcher3的定制有良多,依据名目的需要会停止种种定制开辟,

            于是就须要研讨Launcher3的源码。本文重要从Android 11的Launcher3QuickStep动手

            (go版本或许其余版本相似)从常用的修正停止剖析,起首就得大抵懂得 Launcher3各个

            类的感化。

            1.1、常用类简述

                    1. BaseIconFactory.java:Launcher图标的工场类,把持图标UI展现(图标利剑边把持)

                        Android8,9,10可能在其余类,能够全局搜寻normalizeAndWrapToAdaptiveIcon方式

                        差未几一样的逻辑。

                    2. OverviewToAllAppsTouchController.java:横向把持抽屉式All利用界面的触摸类。

                    3. PortraitStatesTouchController.java:竖向把持抽屉式All利用界面的触摸类。

                    4. BubbleTextView.java:Launcher全部图标笔墨表现的父类,包含笔墨的巨细,笔墨

                         革新的的父类。

                    5. CellLayout.java:Launcher规划的盘算类,图标的表现边距等,构成workspace

                        的view,继续自viewgroup,既是一个dragSource又是一个dropTarget,能够将它外面

                        的item拖出去,也能够包容拖动过去的item。在workspace_screen外面定了一些它

                        的view参数。

                    6. SecondaryDropTarget.java:长按APP图标的操纵类,对图标停止挪动、删除、

                         移除、撤消、卸载等操纵。

                    7. DeviceProfile.java:图标巨细、各个图标间距,规划等盘算实体类,可设置各个参数

                        的全局变量。

                    8. Launcher.java: launcher重要的activity,是launcher桌面第一次启动的activity,UI的

                        重要进口。

                    9. Workspace.java: 形象的桌面。由N个cellLayout构成,从cellLayout更高一级的层面上

                        对变乱的处置。

                    10. ClippedFolderIconLayoutRule.java: 文件夹图标外部表现小图标缩略图的盘算类

                          ,罕见4宫格9宫格表现的实现类。

                    11. FolderGridOrganizer.java: 开展文件夹表现的盘算逻辑类,文件夹图标浮现是网格

                         状,此类重要给文件夹各利用图标制订表现规矩,比方3*4,4*4。

                    12. LoaderTask.java: 加载各个模块Task的表现类,如workspace任务区icon、all任务

                          区icon初始化任务。

                    13. PackageUpdatedTask.java: PMS装置利用后更新Launcher3图标及逻辑的实现类。

                    14. device_profiles.xml:默许Launcher的网格设置,重要包含一下多少点:

                           a. workspace的行跟列;

                           b. 文件夹中设置的行跟列;

                           c. 图标巨细;

                           d. 图标称号笔墨巨细;

                           e. 默许抉择加载哪个网格xml的设置文件。

                    15. default_workspace_xxx.xml/partner_defaul

  • 相关阅读:
    14天学习训练营导师课程|Pygame学习笔记-俄罗斯方块项目代码解析2
    java毕业设计——基于java+JSP+Oracle的记账管理系统设计与实现——记账管理系统
    解决:idea中代码文件背景变成特殊颜色(浅褐色),且代码智能提示完全消失,即使在新项目中创建同类型文件也会出现同样情况
    已解决ERROR: No matching distribution found for cv2
    java计算机毕业设计旅行指南网站源程序+mysql+系统+lw文档+远程调试
    快速入门XPath语法,轻松解析爬虫时的HTML内容
    springboot毕设项目兴趣学习平台02hz7(java+VUE+Mybatis+Maven+Mysql)
    【Ubuntu20.04安装java-8-openjdk】
    Obsidian+SyncTrayzor打造个人文档云同步平台
    Request Body Search
  • 原文地址:https://blog.csdn.net/LianChengTongXin/article/details/132907003