Android launcher3 开发初始篇

article/2025/11/7 3:14:16
版本:1.0
日期:2014.8.26 2014.8.27  2014.11.10
版权:© 2014 kince 转载注明出处
好久没有写博客,也是因为工作比较忙的关系。当然这不是理由,主要是很多bug要改,而自己的效率又不是很高,所以把很多时间都浪费在修复bug上面了。闲话不多说,切入正题。
Launcher3是最新的google官方Launcher,相比Launcher2,它具有更加小巧、流畅、清新等特点,所以选择它作为研究的对象。第一步当然是去下载其源码,git网址是:https://android.googlesource.com/platform/packages/apps/Launcher3/。如果没有git工具,可以点击master。
刚好最近lollipop的Launcher源码也更新了。和之前的Launcher3会有一些区别,不过不大,倒入过程大同小异。

git下载:

压缩包下载:

下载完后解压,目录如下:


接着导入eclipse,因为Launcher3的某些新特性,需要将build target设置为API level 19(不是必须,为了方便研究起见,Launcher3的源码最低可以兼容大API16)。然后导入项目所依赖的类库,这个地方分为三种情况,一是导入v4包,手动添加一个libs目录,将v4包加进去;二是需要protocol buffers,到https://android.googlesource.com/platform/external/protobuf.git下载,最好打成jar包,然后放在libs目录下。三是添加BackupProtos.java这个类。可以从上一步中获取。英文好的朋友可以看一下下面的步骤:

Do it yourself

  1. Use Git to pull down the latest Launcher 3 source:

    git clone https://android.googlesource.com/platform/packages/apps/Launcher3

  2. Import existing code into Eclipse (Android Project from Existing Code)
  3. Change the project build target to API level 19
  4. Add Android support libraries
  5. Build protocol buffers JAR from AOSP source. You will actually need to build the protoc binary as well. You need to know how to use ‘make’ have gcc available for the protoc binary, and Maven for the JAR: https://android.googlesource.com/pla…l/protobuf.git
  6. Use protoc binary built from step above to generate the BackupProtos.java file:

    protoc –javanano_out=src/ -I protos protos/backup.proto

  7. Rename the Android package (Android Tools->Rename Application Package) to one of your choice
  8. Add min SDK in a new ‘uses-sdk’ element in AndroidManifest.xml (works down to API level 17 without too many complaints in Lint, obviously stick to 19 to play it safe).
  9. Clean and run. BIND APP WIDGETS error can be ignored

Fabio Lo Brutto:
https://plus.google.com/+FabioLoBrutto/posts/KJeyKMBHVT7

导完后的目录结构如下:
如果想做一个自己的Launcher,那么需要把包名改一下,研究的话就没有必要了。最后运行,截图如下:


关于Launcher最复杂的东西不在于如何显示应用程序、Widget、文件夹等功能,而是自定义View方面,因为基本上Launcher的View都是自定义的,而且代码都很多,理解起来不是那么简单。所以说,如果把Launcher里面的自定义的View掌握了,那么对Launcher也就基本掌握了。因此,学习重点应该集中在自定义View上。
今后会持续更新关于Launcher3开发方面的文章,在做Launcher开发的朋友可以一起交流。



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

相关文章

安卓Launcher 简介

转载请注明出处:安卓Launcher 简介_安卓launcher是什么_Mr_Leixiansheng的博客-CSDN博客 文章概述: 1.什么是Launcher 2.新建一个Launcher工程 3.Apps去哪了 4.显示桌面背景 最近换了新工作(๑ㅁ),又是要去接触新的知识了。闲话不多说&…

android12.0(S) Launcher3 细节修改

去除 Launcher3 底部类似 dockbar 条目 packages/apps/Launcher3/src/com/android/launcher3/DeviceProfile.java availableHeightPx windowBounds.availableSize.y;mInfo info; - isTablet info.isTablet(windowBounds);//isTablet info.isTablet(windowBounds);is…

Launcher3

Android 4.4 (KK)开始Launcher默认使用Launcher3,Launcher3较Launcher2 UI 有部分调整,主要包括: (1) 状态栏透明,App List 透Wallpaper; (2) 增加overview模式,可以调整…

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是错误的负类。 举例:我们需要从一个班级中的人中寻找所有女生,如果把这个任务当成一个分类器的话,那么女生就是我们…