Launcher3

article/2025/11/7 3:12:20
Android 4.4 (KK)开始Launcher默认使用Launcher3,Launcher3较Launcher2 UI 有部分调整,主要包括:
(1) 状态栏透明,App List 透Wallpaper;
(2) 增加overview模式,可以调整workspace上页面的前后顺序;      
(3) 动态管理屏幕数量      
       (4)widget列表与app list分开显示
       (5)默认不支持预置appwidget,需要用户指定权限       
(6) 提供类似小米只有workspace的桌面机制        
(7) Wallpaper 的代码全部搬移到Launcher包;
       (8)类似Cling等细节的小变化;
针对这些feature,代码逻辑的调整相比Launcher2还是比较大,尤其是workspace的设计部分差异很多。下面是几个界面的截图:
Overview mode,可以对workspace的Celllayout进行排序,也是Wallpaper、App Widget的选择入口;
Launcher3 workspace上页数动态调整,可以动态增减,默认最少有一页。添加icon时会增加空白页,当前空白页没有内容会自动删除。


针对之前介绍的Google Launcher信息,在目前Launcher3的架构上,会有些客制化受到限制或者存在Bug,例如:
(1) 无法预置空白的workspace页面,主要是与动态增减页面数量相冲突;
(2)如果 预置workspace页面大于一页,无法指定非第一页为主页面,主要是与动态增减页面数量相冲突,导致Exception;
(3) 安装到SD卡的应用,桌面创建快捷图标后,关机再开机如果SD卡挂载慢,桌面快捷图标会消失,包括Folder中图标也类似。这是Google Default设计,可以参考FAQ修改为不消失;
(4) 打开类似小米桌面的Feature存在bug,Google在L版本修正此问题,KK可以参考FAQ修改;
(5) MTK Launcher2 循环滑动功能在Launcher3 Bug很多无法解决,主要是由于Launcher3 Workspace结构大修改,目前无法做到有效的循环滑动,Launcher3暂时不support此feature;
(6) Quicksearchbox(QSB)不能固定某一页,主要是由于QSB是draglayer上的一个view,不是appwidget,因此无法实现这样的需求,除非重新设计Launcher的view tree。
以上类似的Feature不建议做客制化,否则会比较难控制隐患。

 

FAQ ID Title CategoryAscending Release Date
FAQ03426当系统存在多个Launcher时,如何设置开机自动进入默认的Launcher?SW > ALPS > Application - Launcher2014-12-04
FAQ08349如果Launcher支持横屏显示,如何避免Launcher重新创建?SW > ALPS > Application - Launcher2014-07-24
FAQ08868FHD手机Launcher操作一段时间后占用300M以上RAMSW > ALPS > Application - Launcher2014-11-27
FAQ11206Launcher 3 上快速连续两次点击 home 键回到 workspace 首页SW > ALPS > Application - Launcher2014-06-23



       Workspace

 功能描述
Workspace中文翻译通常叫 桌面,也有人称为 Idle界面,主要作用是摆放用户常用的一些Appwidget及App的icon,也可以创建Folder。
 功能操作
(1)左右滑动切换页面;
(2)长按workspace空白处会进入overview mode,用于选择Wallpaper和Appwidget、或者快速启动setting应用;也可以调整Workspace上页面之间的顺序;
(3)长按workspace上图标可以删除图标(卸载/显示App Info)、移动图标位置,创建folder等;
(4)Workspace的状态栏支持透明,不过前提是系统Ram大于512M,否则framework中不支持透明的Feature。

  数据存储
Workspace上 数据的存储是通过Database的方式,在第一次开机时Launcher会通过读取 Default_workspace.xml 获取桌面配置的信息,之后创建对应的 launcher.db,之后再开机会从DB中捞取桌面上摆放的应用的资讯,绘制画面。
DB的存储方式决定了对workspace客制化时一定要操作DB,否则默认界面是不会有刷新的变化的,这也是常见客制化所需要关注的点。
客制化需求
Workspace客制化需求较多,但是并不是所有需求在目前Launcher3的架构上都合适,下面是常见客制化汇总,可以对照对应的FAQ或者说明来评估(未写说明的可以参考FAQ实现,其他有限制的无法做客制化)
     (1)桌面的配置
桌面cell 行列配置,图标大小的配置: FAQ11476       
桌面默认显示应用的配置、默认显示几页、默认创建Folder:FAQ04293  FAQ05878             
桌面默认显示应用顺序的配置:FAQ04293 
桌面默认显示STK图标:FAQ12135
预置Appwidget:FAQ11225 & FAQ04293  
    (2)HotSeat的配置
All App Button 位置的更改:FAQ10350          
HotSeat图标、名字的配置:FAQ04293  FAQ03774
 
     (3)桌面背景
桌面状态栏透明:FAQ11629
去掉桌面背景渐变色:FAQ07999
去掉Quick Seatch Box:FAQ04350
Quick Search Box位置固定:这个feature无法实现,在第一节limitation中有介绍原因
     (4)桌面滑动
桌面循环滑动:这个feature无法实现,在第一节limitation中有介绍原因

FAQ ID Title CategoryAscending Release Date
FAQ04293如何预置桌面上的应用程序图标、快捷方式图标或者窗口小部件?SW > ALPS > Application - Launcher2014-12-03
FAQ04350如何去除Launcher默认的google search bar?SW > ALPS > Application - Launcher2014-12-17
FAQ05878如何预置桌面上的folder图标?SW > ALPS > Application - Launcher2013-03-22
FAQ06274launcher搜索引擎图标中去掉“google”字样SW > ALPS > Application - Launcher2013-11-15
FAQ07999如何去除桌面背景上下边缘逐渐变暗的效果SW > ALPS > Application - Launcher2014-07-24
FAQ10259怎么将桌面较长的图标名称显示完整?SW > ALPS > Application - Launcher2014-12-03
FAQ10403如何在Launcher的桌面滑动时添加动画效果?SW > ALPS > Application - Launcher2013-12-16
FAQ10990Launcher如何去掉进入应用时的动画效果?SW > ALPS > Application - Launcher2014-06-23
FAQ11029Launcher3如何增加默认的workspace数目SW > ALPS > Application - Launcher2014-06-23
FAQ11060桌面上特定的图标不能被移动和删除SW > ALPS > Application - Launcher2014-06-23
FAQ11049切换语言后,桌面上的快捷方式名称没有切换到当前语言SW > ALPS > Application - Launcher2014-06-23
FAQ11206Launcher 3 上快速连续两次点击 home 键回到 workspace 首页SW > ALPS > Application - Launcher2014-06-23
FAQ11476Launcher3如何设置桌面的行数和列数?SW > ALPS > Application - Launcher2014-12-03
FAQ11623KK版本安装在SD卡的应用,桌面创建的快捷图标重新开机后消失SW > ALPS > Application - Launcher2014-05-12
FAQ11629KK Launcher2状态栏不透明SW > ALPS > Application - Launcher2014-05-12
FAQ12140Launcher3主菜单背景不透wallpaperSW > ALPS > Application - Launcher2014-07-24


     App List

功能描述

     App List中文翻译通常叫主菜单,主要显示系统安装的可以在Launcher显示的应用。只有Activity带了 “android.intent.action.MAIN”和“android.intent.category.LAUNCHER”的才可以被query到,在App List中显示。不过APP自己的行为也可以让带了这两个filter的Activity不显示在Allapplist,例如Android keyboard

       功能操作
       (1)启动对应的应用程序;
       (2)左右滑动切换页面;
       (3)固定App显示位置;
 
 
      客制化需求 
       (1)隐藏某个App:FAQ10474  FAQ08658
       (2)固定App显示位置:FAQ04294
       (3)设置显示列表行数列数:FAQ11441
       (4)按照安装时间排序:FAQ08556
       (5)去掉主菜单,应用全部摆放在桌面:FAQ11625
       (6)循环滑动:此feature目前不支持,原因在第一节limitation中有介绍



FAQ ID Title CategoryAscending Release Date
FAQ04294如何定制Launcher主菜单中应用程序图标的显示顺序?SW > ALPS > Application - Launcher2014-07-24
FAQ04295如何客制化Launcher的主菜单图标SW > ALPS > Application - Launcher2014-07-24
FAQ05709Launcher主菜单界面上锁后解锁,系统回到Idle界面SW > ALPS > Application - Launcher2013-03-06
FAQ06210如何让主菜单的背景显示为壁纸SW > ALPS > Application - Launcher2014-12-03
FAQ08556如何将主菜单图标改成按安装时间排序SW > ALPS > Application - Launcher2014-09-18
FAQ10350如何修改Allapp Button的位置SW > ALPS > Application - Launcher2014-05-30
FAQ10400如何在AllApp List的widget列表中隐藏某个widgetSW > ALPS > Application - Launcher2014-06-23
FAQ10474如何在Launcher的主菜单中隐藏某个应用?SW > ALPS > Application - Launcher2014-12-17
FAQ11028长按workspace以及all app list图标无震动效果SW > ALPS > Application - Launcher2014-02-25
FAQ11441Launcher3中主菜单的布局如何调整(譬如从5*4调整为4*4)?SW > ALPS > Application - Launcher2014-12-03
FAQ11625Launcher3如何去掉主菜单,所有应用摆在桌面,类似小米桌面SW > ALPS > Application - Launcher2015-01-05
FAQ12140Launcher3主菜单背景不透wallpaperSW > ALPS > Application - Launcher2014-07-24



AppWidget


中文翻译通常叫 小部件,主要是用于桌面和锁屏之上,可以更直观的显示应用的信息,而不需要启动这个应用程序本身。
Launcher提供了 AppWidget选择的入口,但是 并不是所有的Widget都一定会在这个列表中显示出来,例如,如果widget需要的宽度大于Launcher桌面配置的n个cell的格子总宽度,这个widget就无法在Launcher的列表显示;
另外, 这个list里面除了AppWidget还显示了一些shortcut,例如Contact、Setting,这些并非是AppWidget,因此他们的表现就会与Widget不同,例如设置了setting的电池的shortcut,当切换语言时会发现默认这个名字不会变。
      客制化需求
(1)Widget列表中隐藏某个widget:FAQ10400
(2)列表按照安装时间排序:FAQ08556
(3)循环滑动:这个feature不支持,主要原因在第一节Limitation中有介绍

 
FAQ ID Title CategoryAscending Release Date
FAQ10400如何在AllApp List的widget列表中隐藏某个widgetSW > ALPS > Application - Launcher2014-06-23
FAQ11031非4x4的Launcher widget摆放不居中SW > ALPS > Application - Launcher2014-06-23
FAQ03880【AppWidget】如何关闭yahoo 天气的窗口小部件SW > ALPS > Application - WallPaper/AppWidget2014-06-23
FAQ03759【AppWidget】如何去掉视频播放器窗口小部件SW > ALPS > Application - WallPaper/AppWidget2012-12-25
FAQ03881【AppWidget】窗口小部件无法更新的分析方法SW > ALPS > Application - WallPaper/AppWidget2014-06-23
FAQ04680Video Favirate应用介绍SW > ALPS > Application - WallPaper/AppWidget2012-12-25
FAQ05714最爱联系人(Video Favorite)小部件显示不全SW > ALPS > Application - WallPaper/AppWidget2013-03-06
FAQ07751在appwidget应用中添加自定义的view显示"widget load problem"SW > ALPS > Application - WallPaper/AppWidget2014-07-24
FAQ07752MTK天气应用输入城市名字后点击搜索,会提示"很抱歉,天气服务已停止运行"SW > ALPS > Application - WallPaper/AppWidget2014-07-24
FAQ10519世界时钟小部件中如何增加城市SW > ALPS > Application - WallPaper/AppWidget2014-06-23
FAQ11622GMS包中Drive的widget显示缺少camera按钮SW > ALPS > Application - WallPaper/AppWidget2014-05-12

 

  WallPaper

      中文翻译通常叫壁纸,主要包括Image wallpaper、live wallpaper以及MTK的video wallpaper。
       Launcher提供的是wallpaper选择的入口,可以对图库、系统壁纸进行选择,同时提供裁剪功能,可以对图库中图片进行裁剪。







FAQ ID Title CategoryAscending Release Date
FAQ11627kK Launcher3如何实现壁纸居中SW > ALPS > Application - WallPaper/AppWidget2014-05-12
FAQ12172偶现设置壁纸不成功的原因。SW > ALPS > Application - WallPaper/AppWidget2014-07-14
FAQ08968设置动态壁纸后,手机使用过程中恢复成了静态壁纸。SW > ALPS > Application - WallPaper/AppWidget2014-07-24
FAQ08990如何去掉动态壁纸列表中的名字为MAP的动态壁纸。SW > ALPS > Application - WallPaper/AppWidget2014-07-24
FAQ09082有些视频设置为视频壁纸后不能全屏SW > ALPS > Application - WallPaper/AppWidget2014-06-25
FAQ09442视频壁纸设置视频为SD卡中的一个文件夹,提示没有应用可执行此操作SW > ALPS > Application - WallPaper/AppWidget2014-07-24
FAQ09444如何实现去掉“LiveWallpaper”里面的全部动态壁纸,包括“LiveWallpaper”的菜单图标SW > ALPS > Application - WallPaper/AppWidget2014-07-24
FAQ10958系统WallPaper图片可以设置成屏幕大小的图吗?SW > ALPS > Application - WallPaper/AppWidget2014-06-25
FAQ10982KK中如何内置多张静态(图片)壁纸到系统中SW > ALPS > Application - WallPaper/AppWidget2014-06-25
FAQ11367如何解决默认壁纸更改为ImageWallpaper之外的壁纸,在特定的操作下,导致死机的问题。SW > ALPS > Application - WallPaper/AppWidget2014-06-25
FAQ07313设置图库里的照片为壁纸后,壁纸下面仍然显示为“默认”SW > ALPS > Application - WallPaper/AppWidget2014-07-24
 
 1Total: 1 pages (11 items)



FAQ ID Title CategoryAscending Release Date
FAQ03426当系统存在多个Launcher时,如何设置开机自动进入默认的Launcher?SW > ALPS > Application - Launcher2014-12-04
FAQ08349如果Launcher支持横屏显示,如何避免Launcher重新创建?SW > ALPS > Application - Launcher2014-07-24
FAQ08868FHD手机Launcher操作一段时间后占用300M以上RAMSW > ALPS > Application - Launcher2014-11-27
FAQ11206Launcher 3 上快速连续两次点击 home 键回到 workspace 首页SW > ALPS > Application - Launcher2014-06-23
FAQ ID Title CategoryAscending Release Date
FAQ11627kK Launcher3如何实现壁纸居中SW > ALPS > Application - WallPaper/AppWidget2014-05-12
FAQ12172偶现设置壁纸不成功的原因。SW > ALPS > Application - WallPaper/AppWidget2014-07-14
FAQ08968设置动态壁纸后,手机使用过程中恢复成了静态壁纸。SW > ALPS > Application - WallPaper/AppWidget2014-07-24
FAQ08990如何去掉动态壁纸列表中的名字为MAP的动态壁纸。SW > ALPS > Application - WallPaper/AppWidget2014-07-24
FAQ09082有些视频设置为视频壁纸后不能全屏SW > ALPS > Application - WallPaper/AppWidget2014-06-25
FAQ09442视频壁纸设置视频为SD卡中的一个文件夹,提示没有应用可执行此操作SW > ALPS > Application - WallPaper/AppWidget2014-07-24
FAQ09444如何实现去掉“LiveWallpaper”里面的全部动态壁纸,包括“LiveWallpaper”的菜单图标SW > ALPS > Application - WallPaper/AppWidget2014-07-24
FAQ10958系统WallPaper图片可以设置成屏幕大小的图吗?SW > ALPS > Application - WallPaper/AppWidget2014-06-25
FAQ10982KK中如何内置多张静态(图片)壁纸到系统中SW > ALPS > Application - WallPaper/AppWidget2014-06-25
FAQ11367如何解决默认壁纸更改为ImageWallpaper之外的壁纸,在特定的操作下,导致死机的问题。SW > ALPS > Application - WallPaper/AppWidget2014-06-25
FAQ07313设置图库里的照片为壁纸后,壁纸下面仍然显示为“默认”SW > ALPS > Application - WallPaper/AppWidget2014-07-24
 
 1Total: 1 pages (11 items)

http://chatgpt.dhexx.cn/article/rUmuD0al.shtml

相关文章

Launcher3 模块的简单设计

Launcher3 模块的简单设计 Lancher3 路劲: Z:\xxx\packages\apps\Launcher3 任务 1、AllApps背景透明化。 2、Allapps前3个图标变为Chrome、youtube、play商店。 3、长按桌面空白处在弹出的按钮下添加一个图标变大按钮,一个图标变小按钮,点…

android12.0(S) Launcher3 导入 AndroidStudio 调试编译

验证环境 aosp 12.0 源码,分支 android-12.0.0_r3 可以参考之前写的 android12.0(S) Pixel 3XL (QCOM 845) 编译刷机 AndroidStudio 版本 Android Studio Arctic Fox | 2020.3.1 Patch 4 gradle 版本 gradle-7.0.2-bin.zip gradle:7.0.4 二手 Pixel 3 XL一台可直…

launcher3的具体学习

目录结构: allapps 目录:主要存放主菜单界面相关代码。 anim目录:存放动画相关, badge目录:存放图标标识相关 compat目录:存放解决兼容性相关。 config目录:配置Launcher相关功能的宏开关 dragn…

Android10/11 原生Launcher3深度定制开发

一、引言 关于Android10和11系统Launcher3的定制有很多,根据项目的需求会进行各种定制开发, 于是就需要研究Launcher3的源码。本文主要从Android 11的Launcher3QuickStep着手 (go版本或者其他版本类似)从常用的修改进行分析&#…

Launcher3-桌面布局+主要的类+启动流程

一、launhcer3桌面布局二、launcher3主要的类LauncherModel:BubblTextView:DragController:LauncherAppState:DragView:DragSource,DropTarget:Folder:FolderIcon:Launch…

Launcher3--初识Launcher3

一、Launcher简介 Launcher时开机完成后第一个启动的应用,用来展示应用列表和快捷方式、小部件等。Launcher作为第一个(开机后第一个启动的应用)展示给用户的应用程序,其设计的好坏影响到用户的体验,甚至影响用户购机的判断。所以很多品牌厂商…

Android Launcher3分析及定制主题实现

一. Launcher3 简介 **launcher3是在Launcher2的基础上进化的版本,从Android 4.4 开始就使用Launcher3 .(kk版,kk2版)作为桌面使用,以前我们都在使用Launcher2,我们使用的是KK版本,具体区别后面再说. ** 1 Launcher3 桌面变成了动态管理,launcher2 里面默认最多加载五个worksp…

Android Launcher3简介

一.Launcher3概述 Launcher顾名思义,就是桌面的意思,也是android系统启动后第一个启动的应用程序,这里以android11为例,和其他应用并无区别,只是增加了对其他app和widget的管理窗口,且可以为用户定制化一些…

详细理解准确率、精准率、召回率,F1值等评价指标的含义

转载文章 原博客地址:详解准确率、精确率、召回率、F1值等评价指标的含义 机器学习问题之中,通常需要建立模型来解决具体问题,但对于模型的好坏,也就是模型的泛化能力,如何进行评估?我们可以定一些评价指标…

详解准确率、精确率、召回率、F1值等评价指标的含义

机器学习问题之中,通常需要建立模型来解决具体问题,但对于模型的好坏,也就是模型的泛化能力,如何进行评估呢? 很简单,我们可以定一些评价指标,来度量模型的优劣。比如准确率、精确率、召回率、…

分类性能评价指标——精确率,召回率,F1值详细解释

分类性能的评价指标 准确率 准确率是全部参与分类的文本中,与人工分类结果吻合的文本所占的比例。 即:预测与真实标签相同的比例 A c c u r a c y T P T N T P T N F P F N Accuracy\frac{TPTN}{TPTNFPFN} AccuracyTPTNFPFNTPTN​ 精确率 也称…

准确率、精确率、召回率、F1值

1.TP、TN、FP、FN 先粘一个官方形式的。 用新冠来举例理解。下方正方形为样本,其中 圆的部分认定为检测后是阳性的,其余部分为检测为阴性的(但是现在的情况是检测并不完全准确,有可能检测时阴性,但实际上已经有新冠…

机器学习中的二分类问题评价指标之精确率、召回率、F1值通俗理解

引言:对于分类问题,我们在评估一个模型的好坏时,通常想到的是把该模型在测试集上分类结果正确的样本数量比上测试集的样本数量的比值结果,即准确率(精确率)作为评价准则。但除此之外,还有精确率…

【转】一些因素对F1值的影响

截自:https://blog.csdn.net/qq_27590277/article/details/88374695 https://blog.csdn.net/qq_27590277/article/details/88367082 一些因素对F1值的影响 如果还没了解F1值的话,这里有我之前写的通俗易懂的文章 详谈P(查准率),R(查全率)&…

keras计算precision、recall、F1值

近期写课程作业,需要用Keras搭建网络层,跑实验时需要计算precision,recall和F1值,在前几年,Keras没有更新时,我用的代码是直接取训练期间的预测标签,然后和真实标签之间计算求解,代码…

F1值(F-Measure)、准确率(Precision)、召回率(Recall) 菜鸡版理解

前置知识: T(True): 正确的 F (False) : 错误的 P (Positive) : 正向的/积极的 N (Negetive): 负向的/消极的 则: TP:正确的 预测了 正向的 FN:错误的 预测了 负向的 FP&#xff1a…

准确率、精确率、召回率、F1值学习笔记

一、TN、TP、TN、FP、FN概念 TP与TN都是分对了情况,TP是正类,TN是负类。则推断出,FP是错误的正类,FN是错误的负类。 举例:我们需要从一个班级中的人中寻找所有女生,如果把这个任务当成一个分类器的话,那么女生就是我们…

为何选用F1值(调和平均数)衡量P与R?

二分类问题的性能度量为何选用 F 1 F_1 F1​ 值? 已知混淆矩阵 prediction positiveprediction negativeactuality positiveTrue Positive(TP)False Negative(FN)actuality negativeFalse Positive(FP)True Negative(TN) 其中:Precise(精…

精确度/召回率/F1值/Micro-F1和Macro-F1的理解

如下图所示,假设有若干张图片,其中12张是狗的图片其余是猫的图片.现在利用程序去识别狗的图片,结果在识别出的8张图片中有5张是狗的图片,3张是猫的图片(属于误报). 图中,…

混淆矩阵、精确率、召回率、F1值、ROC曲线、AUC曲线

假设一个分类器A,分类器A的作用是告诉你一张图片是不是汉堡,我们如果想知道这个分类器的效果到底好不好,如何做? 最简单的方法就是将手机里所有的图片都扔给分类器A看,让分类器告诉我们哪些是汉堡 我们无法直观的看到…