1.前言
在10.0的系统rom定制化开发中,在关于Launcher3的定制化功能中,在有些功能需要要求改变系统原有的density屏幕密度, 这样就会造成Launcher3的布局变化,所以就不符合要求,接下来就来看下如何禁止改变density造成Launcher3布局功能 改变的实现
2.Launcher修改density禁止布局改变功能实现的核心类
packages\apps\Launcher3\src\com\android\launcher3\util\ConfigMonitor.java
/packages/apps/Launcher3/src/com/android/launcher3/InvariantDeviceProfile.java
3.Launcher修改density禁止布局改变功能实现的核心功能分析和实现
Launcher顾名思义,就是桌面的意思,也是android系统启动后第一个启动的应用程序, :Launcher3负责管理和展示用户手机桌面上的各个应用程序图标。它通过GridView或者LinearLayout等布局管理器将 图标进行排列,并支持滑动、放大缩小等手势操作 在实现Launcher修改density禁止布局改变功能实现的核心功能的解决办法的中,LauncherModel是 Android桌面应用程序的一个关键组件,在启动过程中通过加载应用程序数据、创建应用程序图标和布置 桌面等操作来准备好展示用户的视图,所以经过分析觉得LauncherModel是特别的重要的类, 是Launcher3处理数据的核心,LauncherModel是Launcher的数据中心,但是数据中心的数据是 怎么加载出来的呢,这里就要说到LoaderTask了,它是LauncherModel的核心任务,LoaderTask在 绑定数据的过程中会产生不同的过程状态信息,这些信息会通过回调接口通知LauncherModel对数据处理的状态信息
标签:10.0,density,Launcher,布局,应用程序,LauncherModel,Launcher3 From: https://blog.csdn.net/baidu_41666295/article/details/139566398