《AOSP上手》 2、Framework 开发小需求 “去掉原生 Launcher 中的 google 搜索栏”

AOSP 上手 day2:去掉原生 Launcher 中的 google 搜索栏

引言:

day1 运行完后,咱们的 Android 10 的 aosp 是这样的:

现在的需求是:去掉上面的这个 google 搜索框

很多产品,比如用于仓库,电商,物流的 pda 等,更多的是考虑功能性和稳定性,UI 的美观和易用性是其次的。这些产品一般是不会重新开发和定制 Launcher 的,但是会对 Launcher 做一些修改,比如一个常见的需求是: 去掉原生 Launcher 中的 google 搜索栏

再加上 google 搜索栏在中国是没有办法使用的。在中国销售的产品,肯定是要把它去掉的。

修改方法:

第一步:注释掉布局内的文件

修改文件 packages/apps/Launcher3/res/layout/search_container_workspace.xml,将以下内容注释掉:

ini 复制代码
<!-- <fragment android:name="com.android.launcher3.qsb.QsbContainerView$QsbFragment"
android:layout_width="match_parent" 
android:tag="qsb_view"
android:layout_height="match_parent"/> -->

如下:

第二步:注释掉相关java代码中的文件

修改文件:packages/apps/Launcher3/src/com/android/launcher3/Workspace.java 将以下内容注释掉

ini 复制代码
// CellLayout.LayoutParams lp = new CellLayout.LayoutParams(0, 0, firstPage.getCountX(), 1);
// lp.canReorder = false; 
// if (!firstPage.addViewToCellLayout(qsb, 0, R.id.search_container_workspace, lp, true)) {
// Log.e(TAG, "Failed to add to item at (0, 0) to CellLayout"); 
// }

如下:

第三步:重新编译源码,启动模拟器

go 复制代码
make -j16 
emulator

可以看到 Google 搜索框没有了。

总结

为什么这么改就可以去掉这个Google 搜索栏了?

其实办法就一个------读源码

Launcher 也是一个 Android 应用,和我们平时开发的 App 没有本质的区别。 就像我们接手别人开发的项目,去解决项目中的 bug,添加新的需求是一样的。

Android Framework 不同的是,代码量大,涉及知识广泛,App 开发同学如果没有人指导,阅读起来比较吃力。

后续内容我们一起由浅入深,步步分解,慢慢解开 Android Framework 的神秘面纱。

相关推荐
liulilittle3 小时前
在 Android Shell 终端上直接运行 OPENPPP2 网关路由配置指南
android·linux·开发语言·网络·c++·编程语言·通信
低调小一3 小时前
KuiklyUI 科普:UI 如何映射到 Android View 并完成渲染
android·windows·ui
火柴就是我3 小时前
android shadertoy效果 转换成 Android动态壁纸的写法
android
Bryce李小白4 小时前
Kotlin Flow 的使用
android·开发语言·kotlin
氦客6 小时前
Android Compose 状态的概念
android·compose·重组·状态·组合·mutablestate·mutablestateof
Jerry6 小时前
Compose 约束条件和修饰符顺序
android
千里马学框架8 小时前
安卓系统中线程优先级Priority查看方式汇总
android·framework·线程·安卓framework开发·优先级·priority
沐怡旸8 小时前
【Android】Handler/Looper机制相关的类图和流程图
android
生莫甲鲁浪戴8 小时前
Android Studio新手开发第二十一天
android·ide·android studio