把状态栏里的 Wi-Fi、移动信号、电量 合并成一个仿 iPhone「Duo」风格的三合一图标。
HyperDuo 是一个 LSPosed 模块,只作用于系统界面(com.android.systemui)。开启后,原本分开的
Wi-Fi 图标、信号格与电池图标被替换成一个整体字形:外圈是电池环(缺口在下方,按电量点亮),
环里是 Wi-Fi 弧线(弧数跟随真实信号强度),底部是移动信号点,环内是电量数字(充电
时变成闪电,快充为琥珀色)。
所有元素都能单独开关,尺寸和颜色可以按自己的状态栏习惯微调,改完立即生效,无需重启。 关掉其中任何一项,对应的系统原生图标都会回到原本的位置——每个开关都是「用三合一的画法」与 「用系统原本的画法」之间的切换,而不是简单地少画一笔。
从左到右:充电、快充、正常、无 Wi-Fi(显示网络类型)、省电、危险。这套预览也内置在设置界面顶部, 会跟着你的设置实时变化。
- 系统:HyperOS / MIUI
- Android:10 及以上(API 29+)
- 框架:支持 libxposed API 102 的 LSPosed,例如 LSPosed 2.2.0-it(7890)
- 作用域:系统界面(
com.android.systemui)
目前只在 小米 14 · HyperOS 4 · Android 17(API 37) 上做过完整验证。其他 HyperOS / MIUI 机型 理论可用;状态栏内部实现不同时,对应功能会自动跳过并写下日志,不会崩溃。
- 从 Releases 下载最新的
HyperDuo-*.apk并安装。包名已更换:从 1.4 起是
io.github.yixing233.hyperduo(1.3 及更早是com.hyperduo.trio)。 包名变了就是另一个应用,无法覆盖升级:请先卸载旧版(设置会一起清掉),再安装新版。 - 打开 LSPosed 管理器 → 模块 → 启用 HyperDuo。
- 在模块的作用域里勾选 系统界面。
- 重启系统界面让模块生效。
安装后桌面会出现 HyperDuo 图标,点开即可;也可以在 LSPosed 管理器里点击模块进入。
双卡分两排画。 打开「双卡信号」后,在没有 Wi-Fi 且未充电时改成上下两排信号点,上排是卡一、
下排是卡二。圆环样式下两排点正好落在圆环的两个缺口里:上排把 12 点钟的缺口张到与底部开口等宽。
信号电平与系统状态栏取同一个来源(MIUI 的 getMiuiLevel()),不会出现「系统满格、这里少一格」。
信号也可以画在环外。 把「信号位置」改成环外,移动信号就从圆环底部挪到电池图标旁,和原生 信号格同一个位置。此时打开「堆叠信号」,模块自己接管那一处读数:四条高度递增的圆头柱表示一张 卡,下方一排圆点表示另一张卡;双卡还能再打开「仅显示上网卡」。关闭「堆叠信号」则把移动信号 整体交还系统原生信号格。环外读数的大小由「环外信号大小」单独控制,按 dp 而不是百分比——默认 15dp 正好与图标同高,且不随状态栏那一行(下拉控制中心时会变高)变化。
两种排布、两种重心。 「三合一样式」可以换成矩形:左右两列信号点夹住中间内容,底部是一条 电量条。打开「电量数字居中」则把数字放大到环心,Wi-Fi 弧缩到顶部缺口,充电时改用缺口里的小闪电。
颜色跟着状态走。 低电量、充电、危险电量可以分别为深色底和浅色底各设一套颜色,优先级是 危险电量 → 低电量 / 省电 → 充电 → 前景色;底纹与未激活的信号点跟随状态栏本身的前景色。
全部设置项与默认值见主仓库说明。
改完设置需要重启系统界面吗?
不需要,模块通过框架的远程配置通道实时接收变更,改完立刻重绘。如果确实需要重启(例如刚装上模块、 或系统界面状态异常),设置里提供了重启入口,它需要 root 授权。
状态栏完全没有变化?
依次确认:模块已在 LSPosed 中启用 → 作用域勾选了「系统界面」→ 已经重启过系统界面。显示「已激活」 但图标没变,通常就是作用域没勾选。若三者都满足仍无效,请检查是否还有别的状态栏模块在改同一区域。
升级后设置全没了、LSPosed 里还多出一个同名模块?
包名换了(com.hyperduo.trio → io.github.yixing233.hyperduo),Android 会当成两个不同的应用:
旧版不会自动升级、旧设置不会迁移、LSPosed 里两条并列。卸载旧的那条,只留新版即可。
打开「双卡信号」后还是只画一排点?
第二排需要三个条件同时成立:手机确实是双卡、两张卡都读到了电平、并且当前没有 Wi-Fi 也没有在 充电。任何一条不满足就回退成单排(当前上网卡)。
几个已知限制
- 「关了 Wi-Fi 弧还在」:不会。Wi-Fi 的有无有实时采样兜底;但信号等级依赖系统界面内部 的资源名解析,个别固件改走别的绑定路径时,弧线可能只显示为不点亮(不会崩溃)。
- 切换「显示移动信号点」后没有马上变化:信号点只在信号等级变化时刷新。系统界面在移动视图淡出后 仍报告「可见」,模块无法从中判断开关状态,需等下一次信号变化或重启系统界面。
- 字号调大后字形被裁切:系统给电池图标预留的区域是固定的(28dp × 20dp),几何参数只改变绘制 内容、不改变预留尺寸。极端值下字形可能超出可用范围,调小一点即可。
- 源码与说明:https://github.com/yixing233/HyperDuo
- 问题反馈:https://github.com/yixing233/HyperDuo/issues
- 最新版本:https://github.com/yixing233/HyperDuo/releases/latest
设置界面基于 Compose + Miuix 实现 MIUI 风格。

