当前位置: 首页 > news >正文

Android 10.0 Launcher修改density禁止布局改变功能实现

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对数据处理的状态信息

http://www.lryc.cn/news/368297.html

相关文章:

  • CAN协议简介
  • (二)JSX基础
  • GB 38469-2019 船舶涂料中有害物质限量检测
  • 汇编:数组-寻址取数据
  • ROS自带的OpenCV库和自己安装版本冲突问题现象及解决方法
  • html+CSS+js部分基础运用19
  • 探索 Debian 常用命令:掌握 Linux 系统管理的重要一步
  • 「C系列」C 作用域规则
  • 【机器学习基础】Python编程10:五个实用练习题的解析与总结
  • 【设计模式】结构型设计模式之 门面模式
  • MAC地址简介
  • 五种网络IO模型
  • VSCode超过390万下载的请求插件
  • 前端 JS 经典:下载的流式传输
  • k8s面试题大全,保姆级的攻略哦(三)
  • 从年金理论到杠杆效应,再到财务报表与投资评估指标
  • K8S - 用kubectl远程访问内网的k8s集群
  • STM32F103C8移植uCOSIII并以不同周期点亮两个LED灯(HAL库方式)【uCOS】【STM32开发板】【STM32CubeMX】
  • 【c语言】qsort函数及泛型冒泡排序的模拟实现
  • MySQL之多表查询—表子查询
  • Java 18风暴来袭:解锁编程新纪元
  • 文件操作(Python和C++版)
  • Git【版本控制命令】
  • 打字侠是一款PWA网站,如何下载到电脑桌面?
  • Scikit-learn使用步骤?使用场景?
  • MySQL 5.7详细下载安装配置教程(MySQL 5.7安装包)_mysql5.7的安装教程
  • 电阻十大品牌供应商
  • 深度学习复盘与论文复现C
  • 海洋日特别活动—深海来客——可燃冰
  • Web前端放图片位置:深入探索与最佳实践