launcher3专题

Android12——Launcher3文件夹布局修改调整

文章声明:本文是笔者参考良心大佬作品后结合实际需求进行相应的定制,本篇主要是笔者记录一次解析bug笔记,文中可能会引用大佬文章中的部分图片在此声明,并非盈利目的,如涉嫌侵权请私信,谢谢! 大佬原文:安卓开发- 安卓13 Launcher3文件夹预览图、文件夹展开后布局修改-CSDN博客文章浏览阅读305次,点赞5次,收藏8次。Android 13 Launcher3 文件夹预览图标溢出、文件夹展

Android Launcher3

一、定义与功能         Android Launcher是Android操作系统中的一个重要组件,它负责管理和呈现用户界面,包括桌面、应用程序抽屉和部件。Launcher不仅为用户提供了一个启动应用程序的入口,还允许用户自定义手机的主屏幕、图标、小部件布局以及一些基本功能,如滑动效果和屏幕转换。其核心作用是提供一个用户友好的界面来启动和管理应用程序。 二、核心功能 1.主屏幕

仿华为车机功能之--修改Launcher3,实现横向滑动桌面空白处切换壁纸

本功能基于Android13 Launcher3 需求:模仿华为问界车机,实现横向滑动桌面空白处,切换壁纸功能(本质只是切换背景,没有切换壁纸)。 实现效果: 实现思路: 第一步首先得增加手势识别 第二步切换底图,不切换壁纸是因为切换壁纸动作太大,需要调用到WallpaperManager,耗时且会触发应用activity重启 原生系统有识别上滑与下滑的动作,那我们应该增加一个

Launcher3 长按Hotseat图标,显示删除角标(红底白杠杠用于删除图标或者显示应用未读消息数量)

基于Android 13,Launcher3实现需求: 1. 长按Hotseat的图标显示红色删除角标 2. 点击角标,删除图标并保存到Database 3.点击其他地方,取消编辑hotseat图标模式 实现效果: 实现原理:   图标是由BubbleTextView来是实现的,是一个TextView,要增加角标应该有几种思路: 1.TextView可以设置 left to

Android13 Launcher3修改Workspace布局(layout)

需求:Launcher 最基本的修改就是Workspace Hotseat AllApps的布局及出厂默认设置 修改原理: res/xml/device_profiles.xml 图标的横竖排数量、图标大小、各种尺寸和间距主要是由device_profiles.xml这个配置文件来定义的。 DeviceProfile.java device_profiles.xml是由DeviceProfi

android 6.0 Launcher3 去掉抽屉式,显示所有 app

效果图 修改思路 1、去除 allAppsButton,调整 HotSeat 布局,禁止增删,禁止生成 Folder 2、将 AllAppsContainerView 中的图标加载到 Workspace 3、去除 Workspace 图标长按删除选项 上代码 1、增加全局控制开关,方便客户选择是否需要去掉抽屉界面。 Launcher3\src\com\android\launch

Android 13.0 Launcher3单层模式workspace中app列表页排序功能实现

1.概述 在13.0的定制化开发中,对于Launcher3的功能定制也是好多的,而对于单层app列表页来说排序功能的开发,也是常有的功能这就需要了解加载app数据的流程,然后根据需要进行排序就可以了,接下来就来实现这个功能 如图: 2. Launcher3单层模式workspace中app列表页排序功能实现的核心类 packages\apps\Launche

android launcher3将桌面较长的图标名称显示完整解决方案

android 如何将桌面较长的图标名称显示完整(有些APP的图标名称太长),androidapp 1、请找到对应的res资源,修改styles.xml,将 <style name="WorkspaceIcon.Portrait">         <item name="android:drawablePadding">0dp</item>         <item

android launcher3拖拽事件响应解析长按事件处理

AndroidICS4.0版本的launcher拖拽的流程,基本和2.3的相似。就是比2.3写的封装的接口多了一些,比如删除类的写法就多了个类。等等。4.0的改变有一些,但是不是特别大。这个月一直在改动Launcher的缩略图的效果,4.0的缩略图的功能没有实现,还得从2.3的Launcher中摘出来。通过做这个缩略图对Launcher的模块有一点点了解,拿来分享一下Launch

android launcher3修改内置的系统图标显示

/packages/apps/Launcher/res/xml/default_workspace.xml中记录了系统初始化或者恢复出厂设置时桌面上图标的排列。Launcher程序第一次运行完毕以后,会在/data/data/com.android.launcher/databases/launcher.db中创建记录,里面有所有当前的桌面图标。以后每次启动只会从这里读取桌面图标。

android Launcher3中的IconCache的剖析

在Launcher3中,IconCache是用来缓存应用图标缓存的。IconCache不仅会保存图标,还会保存应用的title, 还有应用的描述,我们可以看到缓存都是保存在mCache的HashMap中,key是ComponentName和UserHandleCompat组成的对象, Value是一个对象CacheEntry, CacheEntry的三个成员是图标,标题和应用描述。 在Lau

Android 10.0 Launcher3禁用widget微件功能实现

1.前言 在10.0的系统rom定制化开发中,在一些Launcher3的定制化功能中,有些产品禁用appwidget微件功能,要求Launcher 去掉加载widget微件功能,接下来具体分析下widget微件的加载流程 2.Launcher3禁用widget微件功能实现的核心类 packages/apps/Launcher3/src/com/android/launcher3/config

Android 10.0 Launcher3定制folder文件夹2x2布局之三foldericon的2x2的布局后拖拽只能停放在右边的问题修复

1.前言 在10.0的系统rom产品定制化开发中,在对Launcher3的folder文件夹功能定制中,要求folder文件夹跨行显示,就是 2x2布局显示,默认的都是占1格的,现在要求占4格显示,系统默认是不支持显示4格的,所以接下来需要分析相关的 功能,然后来实现这个功能 2.Launcher3定制folder文件夹2x2布局之三foldericon的2x2的布局后拖拽只能停放在右边的

Android 10.0 Launcher3定制folder文件夹2x2布局之二foldericon的2x2的显示布局

1.前言 在10.0的系统rom产品定制化开发中,在对Launcher3的folder文件夹功能定制中,要求folder文件夹跨行显示,就是 2x2布局显示,默认的都是占1格的,现在要求占4格显示,系统默认是不支持显示4格的,所以接下来需要分析相关的 功能,然后来实现这个功能 2.Launcher3定制folder文件夹2x2布局之二foldericon的2x2的显示布局的核心类 pac

Android 10.0 Launcher3定制folder文件夹2x2布局之一xml文件配置和解析相关属性

1.前言 在10.0的系统rom产品定制化开发中,在对Launcher3的folder文件夹功能定制中,要求folder文件夹跨行显示,就是 2x2布局显示,默认的都是占1格的,现在要求占4格显示,系统默认是不支持显示4格的,所以接下来需要分析相关的 功能,然后来实现这个功能 2.Launcher3定制folder文件夹2x2布局之一xml文件配置和解析相关属性的核心类 packages

Android 10.0 Launcher3 app页面调整workspace边距app行距变小功能实现

1.前言 在10.0的系统rom定制化开发中,在launcher3的一些开发定制功能中,在对于大分辨率比如1600*2560的设备进行开发的时候, 会在竖屏的时候,在默认7*4的布局的时候,显得行距有点宽,这样就需要调整整个CellLayout的上下左右边距,然后就 会显得行距会小一点,接下来具体分析相关功能来实现需求 2. Launcher3 app页面调整workspace边距app行

Android 手势导航(Launcher3 部分)

手势导航功能的实现主要由 SystemUI + Launcher3 共同处理,SystemUI  中主要由 OverviewProxyService.java 监听,而在 Launcher3 中启动一个 TouchInteractionService 服务监听,主要代码实现都由 Launcher 中处理。 Launcher3/quickstep/recents_ui_overrides/src

Android 13.0 Launcher3定制化之最近任务的全部清除由左边移到下边显示

1.概述 在最近13.0的系统rom产品开发中,在Launcher3的定制化开发中,在最近任务列表中,发现点击recents最近任务键后 显示的全部清除按键在左边 由于是横屏的产品显示在左边不太合理 所以要求显示在下边比较合理,所以要从Launcher3的显示流程来解决这个问题 2. 最近任务全部清除按钮左边移到下边显示的核心代码 packages/apps/Launche

Android 12.0 Launcher3 去掉长按屏幕微件里面的设置和日历等微件

1.概述 在12.0的系统rom产品开发中,在开发Launcher3的微件功能时长按屏幕时,这时候可以进入微件.进入微件以后发现 设置 日历 图库等都有微件图标,这样可以拖动到workspace 作为微件图标使用 点击进入app,由于开发项目的需要,要求去掉这些微件,不让通过进入微件进入app,这就需要分析微件是怎么产生的,然后去掉微件,接下来就来看 怎么样来实现这个功能 2.去掉长按屏幕微件

RK3568 Android Launcher3定制修改

1.去掉Google搜索栏     目录packages/apps/Launcher3/src_build_config/com/android/launcher3/BuildConfig.java 修改如下: 2.Launcher首页去掉抽屉菜单,所有应用都放到桌面  第一步:禁止上滑显示抽屉 在目录packages/apps/Launcher3/quickstep/src/com

Android Launcher3各启动场景源码分析

文章目录 一、概述二、开机启动Launcher2.1、开机启动Launcher流程图2.2、开机启动流程源码分析 三、短压Home键启动Launcher3.1、短压Home键启动Launcher流程图3.2、短压Home键启动Launcher源码分析 四、Launcher异常崩溃后的自启动4.1、Launcher异常崩溃后的自启动流程图4.2、Launcher异常崩溃后的自启动源码分析

Android 13.0 Launcher3 app图标和hotseat 添加背景(焦点选中背景)

1.概述 在13.0的系统产品rom定制化开发中,进行Tv设备定制化开发中,配置的有遥控器需要使用遥控器来移动来控制点击功能,所以需要给app 的Icon 和hotseat 添加背景来显示选中状态原生的Launcher的背景没有支持遥控器的焦点事件,所以就需要在Launcher3中给Item 添加默认背景直接焦点样式背景, 接下来就来实现相关功能 2.Launcher3 app图标和hotse

Android 12.0 Launcher3桌面显示多个相同app图标的解决办法

1.前言 在12.0的系统ROM定制化开发中,在Launcher3的系统原生桌面中,在显示桌面的时候,在禁用和启用app的功能测试的时候,会发现有多个相同app的图标显示在桌面 这对Launcher3的体验效果不是很好,所以为了优化产品,需要解决这个bug,然后让产品更完善,接下来看下具体功能的实现方法 2.Launcher3桌面显示多个相同app图标的解决办法的核心类

android 13.0 Launcher3定制folder文件夹16宫格实现二

1. 概述 在13.0的系统产品rom定制化开发中,对于Launcher3的定制功能也是不少的,比如在Launcher3中添加默认文件夹,把默认的app添加的文件夹里面,其他的app 然后按顺序排序。在文件夹布局就是默认的16宫格布局,接下来分析下相关源码来实现功能 2.Launcher3定制化之修改添加的默认文件夹为16宫格样式的实现二核心类 packages/apps/Launcher3

Android 12.0 Launcher3定制化之动态日历图标功能实现

1.概述  在12.0的系统产品rom开发中,在Launcher3中的相关定制化功能中,对于一些产品要求需要动态日历图标功能,在日期改变的时候,日历图标也需要跟着改变 所以需要自定义日历图标,监听日历改变的广播,收到日期改变的广播后,刷新日历图标,接下来就来分析关于动态日历图标更新这个功能的实现 2.Launcher3定制化之动态日历图标功能实现的核心类 packages\apps\La

Android 12.0 Launcher3定制化之动态时钟图标功能实现

1.概述 在12.0的系统产品rom定制化开发中,在Launcher3中的定制化的一些功能中,对于一些产品要求需要实现动态时钟图标功能,这就需要先绘制时分秒时针表盘,然后 每秒刷新一次时钟图标,时钟需要做到实时更新,做到动态时钟的效果,接下来就来分析这个功能的实现 如图: 2.动态时钟图标功能实现的核心类 packages\apps\Launcher3\src\com\android\l