如何把 Android P 的小药丸改成 Q 的小横条

Android Q 是真的香,可惜我只有 Android P

前言

看了酷安上一条动态,上面说 Android P 可以获得 Q 的动画和手势,我当即就备份好数据刷了 OmniROM Pie,结果发现修改的教程失效了……根据评论区的留言和一位老哥 @飞碟lcj 分享的两条动态自己摸索出了一条路子

准备材料

  • 原生 / 类原生 Android P
  • Magisk
  • QuickSwitch 模块
  • MT 管理器

教程

刷机

麒麟 95x 双基带手机直接刷的话用不了双卡,可以参考这篇教程

开启手势及动画

Lawnchair 测试版拥有 Android Q 的动画和手势,下载安装后用 Magisk 模块 QuickSwitch 设为默认桌面和最近应用提供者(Recent Provider),重启即可

接下来长按桌面空白处,打开「主屏幕设置」,找到「最近任务」,把「向上滑动以切换应用」、「Full gesture mode」、「向左滑动以返回」都打开并重启

接下来打开应用、返回桌面的动画就会变成 Android Q 的非线性动画,小药丸此时和 Android Q 的小横条的功能是一样的,只有外观不一样

更改外观

需要修改系统文件

小药丸的外观是由 SystemUI.apk 控制的,导航栏的大小是由 framework-res.apk 控制的,需要修改这两个文件

修改 SystemUI

打开 MT 管理器,定位到 /system/priv-app/SystemUI/,将里面的 SystemUI.apk 文件做好备份,出事了直接进 recovery 恢复(data 没有解锁的需要刷完整包)

点击 SystemUI.apk 再点击「查看」,此时这个 apk 以 zip 的形式展开了。点击右上角三个点 $\vdots$ 选择「搜索」,在搜索框中输入 ic_sysbar_home_quick,理论上只有一个搜索结果 ic_sysbar_home_quick_step.xml,点开它,此时进入了该文件所在的目录。点击该文件,选择「反编译」,等待它加载好。

修改 android:heightandroid:width 后面的值为 140dp
修改 android:viewportWidthandroid:viewportHeight 后面的值为 140.0

修改 android:pathData 后面的字符串为:

1
M138,72H2c-0.89,0-2-1.11-2-2l0,0c0-0.89,1.11-2,2-2H138c1.11,0,2,0.89,2,2l0,0c0,0.89,-1.11,2,-2,2z

只替换引号里面的内容,请直接复制,一个字母都不能错,否则有可能开机后无限 fc

android:fillColor 不用动

最终这个文件应该差不多长这样:

1r6p1H.png

上面的数据请不要随意更改,请直接使用上面提供的数据

保存文件,退出编辑器,提示更新文件选是,重启,此时小药丸就变成小横条了,但是导航栏还是那么大一个

修改 framework-res.apk

更改导航栏高度有两个选择:

  • 直接上重力工具箱(Android P 版本)
  • 修改 framework-res.apk

这里介绍如何修改 framework-res.apk

打开 MT 管理器,定位到 /system/framework/,将里面的 framework-res.apk 文件做好备份,出事了也可以直接用 recovery 恢复

点击 framework-res.apk 再点击「查看」,此时这个 apk 以 zip 的形式展开了。点击 resources.arsc 文件,再点击「Arsc编辑器」。

点击「Android」,之后点击「dimen」,进入之后再次点击「dimen」(理论上应该是第一个选项),点击右上角三个点 $\vdots$ 选择过滤,在搜索框中输入「navigation」,点击确定

此时应该就剩下

1
2
3
4
5
6
navigation_bar_height
navigation_bar_height_car_mode
navigation_bar_height_landscape
navigation_bar_height_landscape_car_mode
navigation_bar_width
navigation_bar_width_car_mode

这几项

修改下面这几项(点击选项,在输入框中修改)

1
2
3
4
navigation_bar_height
navigation_bar_height_landscape
navigation_bar_width
navigation_bar_width_car_mode

25dp(这个是我觉得一个比较适合的值,数字大了导航栏就会更高,数字小了导航栏就会更低,可以按照习惯自由调整)
剩下的两项改不改都可以

调整完了保存文件,退出编辑器,提示更新文件选是,接着重启,重启之后导航栏的高度就降下来了

此时你就获得了一个 Android Q 的小横条

效果图

1rgxhT.png

优化

侧滑返回手势可以使用流体手势实现,但是返回键的小钩子还有,如何去除?

修改 /system/priv-app/SystemUI/SystemUI.apk 中的 ic_sysbar_back_quick_step.xml(寻找方式同上)

android:fillColor 后的值改为 ?00000000(也就是不透明度为0%的黑色),剩下的什么都不要动

保存退出重启即可

效果图

qwq