让 Flyme 的系统界面更合心意。
FlymeStatusBarSizer 是一个面向 Flyme 的 LSPosed 模块,应用内名称为 FlymeBarSizer。从状态栏图标、电池和时间样式,到桌面整理、最近任务和导航手势,都可以在设置界面中按需调整。首页支持功能搜索,图标设置提供预览。
- 调整状态栏图标:调节系统图标、电池数字和通知图标大小;支持用应用自身图标显示通知。
- 隐藏系统状态图标:在“图标与电池 → 隐藏状态栏图标”中独立隐藏蓝牙、VPN、HD、闹钟、静音、振动、Wi-Fi、移动信号等 24 类图标,同时释放占位。应用于状态栏、锁屏和下拉面板的系统图标区;默认全部跟随系统,关闭隐藏后恢复系统原本的显示条件。蓝牙电量和传输标记随蓝牙一起隐藏,HD/VoLTE/VoWiFi 共用开关,移动信号开关同时控制所有 SIM。首次更新模块后须重启 SystemUI,之后切换设置支持即时刷新。时间、电池、网速、应用通知、活动胶囊和权限提示由各自功能处理。
- 自定义电池外观:提供类 iOS、类 One UI 和 iOS 旧版三种样式,可调节数字字体、镂空效果、宽高与圆角;也可开启摄像头环形电池,调整半径、粗细、透明度、五种状态颜色和彩虹色效果。电量圆弧默认透明度为 11.8%(即 88.2% 不透明),支持 0~100% 调节;充电、低电量、省电颜色依次优先,彩虹色仅覆盖正常状态颜色。颜色选择器共享最近使用的 8 种颜色,支持长按固定到顶部,固定颜色不会被历史记录淘汰。 环形电池另提供柔和流光、充电彗星、呼吸、整体旋转、插拔/充满/低电量反馈和电量平滑过渡,可分别设置普通与充电动效、双色或彩虹配色、速度和强度。省电、熄屏、隐藏时停止动效;旧用户升级保留原静态或彩虹表现。详见 环形电池动效说明。
- 调整信号与 Wi-Fi:支持单卡与双卡合并显示、自定义信号柱外观和网络类型标识,以及 Wi-Fi 图标重绘和位置交换。
- 组合时间样式:通过按钮和拖动排序组合时间表达式,支持秒、星期、AM/PM 和传统时辰等内容,并可调整字重、字号。
- 查看详细时间:点击状态栏时钟展开时间与日期,可显示农历,并进一步展开内存、电池、最近任务和快捷入口。
- 控制网速显隐:分别设置显示、隐藏阈值和连续确认次数,减少低速时的频繁切换。
- 按场景设置状态栏颜色:桌面、最近任务、下拉通知栏、控制中心和锁屏可分别选择跟随系统、固定黑色或固定白色。
- AI 整理桌面:按桌面原有分页和图标位置预览并勾选应用,支持文件夹整选或展开单选;默认只选散落图标并保留首屏,预览并调整分类及文件夹尺寸后应用。保留底栏、小组件及特殊快捷方式,需要自行配置 AI 接口。
- 调整卡片外观:自定义通知卡片、最近任务卡片的圆角,以及通知背景和文字颜色选项。
- 自定义 mBack:长触可启动 URL / Intent、打开底部时间弹窗或后台应用星图;支持导航栏透明、小白条显隐及尺寸、高度调整。
- 全局负一屏:从所选侧边返回区域向内滑动并按住(左侧、右侧或两侧,默认左侧),距离和时间均达到阈值后,在当前应用上打开 Aicy 纵览;面板从触发侧进入,左右滑动均可向对应方向退出,直接返回默认向左退出;关闭后恢复原应用。距离和时间可调,默认 140dp / 600ms,功能默认关闭。可选上下偏移限制,默认关闭,开启后超过设定距离就取消本次触发;横向距离与上下边界均可预览。
- 调整小窗手势:支持侧边手势启动自定义动作、扩展小窗选择面板环数,以及长停全屏打开。
- 编排输入法控制栏:将返回、粘贴、撤销、删除、全选、复制、切换输入法拖入固定 7 个槽位,自由决定显示位置,并调整图标大小、透明度和背景。
- 启用 iOS 式堆叠后台:在竖屏最近任务中使用堆叠卡片,可配置模糊、阴影和清除全部按钮;横屏保留系统布局。
- 扩展 CarLink:扩展可流转应用,提供网易云首次加载修复、车机昼夜样式隔离等选项。
- 管理分享列表:在“系统交互 → 分享列表 → 管理”中,通过顶部类型标签分别配置图片、视频、文本、PDF、音频的分享列表。入口以四列图标展示功能名称和应用名称,长按拖动排序,点击打开底部面板进行隐藏、置顶、上移、下移或置底。“显示中 / 已隐藏”分别管理入口,隐藏和恢复显示后支持撤销;更多菜单提供重新扫描、恢复系统排序、重置当前类型和使用说明。
提供配置导入、导出和恢复默认,以及布局微调、环形电池位置调整、堆叠后台参数、Telephony 模拟调试、OneMind 性能调节控制和手机管家后台优化选项。
- 使用 Flyme 系统,并已安装、启用支持 libxposed API 101 的 LSPosed 框架。
- 模块依赖 Flyme 的系统组件,具体功能会受机型和系统版本影响。目前尚未整理已验证的机型与 Flyme 版本清单。
- 应用首页的进程重启功能需要授予模块 Root 权限。
- 从 Releases 下载 APK 并安装;已发布版本的功能以对应版本说明为准。
- 在 LSPosed 中启用模块,检查下表中所需功能对应的作用域。
- 首次启用后重启手机,让模块加载到对应系统组件中。
- 打开 FlymeBarSizer,通过首页功能搜索或分类页面调整设置;带有“应用”按钮的项目需要点击后保存。
- 按下方“设置如何生效”重启对应应用,检查实际效果。
模块声明的作用域如下,可按功能核对 LSPosed 中的启用情况。桌面、车联和输入法等功能需要对应组件已安装。
| 系统组件 / 应用 | 包名 | 相关功能 |
|---|---|---|
| 系统界面 | com.android.systemui |
状态栏、图标、电池、时间、通知、mBack、全局负一屏手势 |
| 系统分享 | com.android.intentresolver |
分享入口隐藏、各分组内的固定排序 |
| Flyme 图库 | com.meizu.media.gallery |
图库内分享入口隐藏、各分组内的固定排序 |
| Aicy 纵览 | com.meizu.assistant |
全局负一屏的独立窗口与关闭恢复 |
| 系统桌面 | com.meizu.flyme.launcher |
AI 桌面整理、最近任务、桌面与后台场景的状态栏颜色联动 |
| SystemUITools | com.flyme.systemuitools |
小窗侧边手势与选择面板 |
| OneMind / PPS | com.meizu.pps |
OneMind 性能调节控制 |
| 手机管家 | com.meizu.safe |
手机管家后台优化 |
| CarLink | com.upuphone.carlink |
应用流转与车联相关选项 |
| 系统框架 | android |
输入法控制栏相关功能 |
| AOSP 输入法 | com.android.inputmethod.latin |
输入法控制栏 |
| Gboard | com.google.android.inputmethod.latin |
输入法控制栏 |
| 微信输入法 | com.tencent.wetype |
输入法控制栏 |
| Flyme 输入法 | flyme.inputmethod |
输入法控制栏 |
“应用重启”中的“重启全部”会在确认后,依次重启当前列表中已启用作用域且已安装的应用,系统桌面和 SystemUI 放到最后。执行期间禁用重启按钮,完成后汇总成功数量和失败的应用。此操作不包含系统框架,不会重启手机;系统框架仍使用单独的“重启手机”入口。
设置会自动保存并同步,部分项目支持即时刷新。时间表达式、输入法按钮布局等带有“应用”按钮的编辑器,需先点击“应用”。若效果未更新,可在首页“应用重启”中重启对应组件。列表通过 libxposed 的 XposedService.getScope() 读取实际作用域,只显示模块支持、已启用且已安装的应用;进入首页、从 LSPosed 返回应用或框架连接变化时自动刷新。读取失败时显示提示和重试入口,不回退到全部声明作用域;未勾选任何作用域时单独提示。系统框架作用域启用后提供“重启手机”入口,确认后才会执行。读取作用域无需另行获取 Root,执行重启仍需 Root 权限。
分享列表编辑器使用“保存”按钮,一次保存所有类型。有修改时显示“未保存”并启用保存按钮,返回时可选择保存、放弃修改或继续编辑。未手动排序时,编辑器读取 Flyme 的常用分组、使用记录和已保存的系统顺序;仅隐藏不会固定顺序。实际移动入口后会自动开启“启用自定义分享列表”,保存并重新打开分享面板后生效。更多菜单中的“恢复系统排序”只清除当前配置的手动顺序,保留隐藏设置;“重新扫描”会更新系统排序预览,已有手动顺序会保留,新发现的入口在实际移动前不会写入固定顺序。搜索时可隐藏或恢复入口,清空搜索后可调整顺序。若系统排序读取不可用,页面会提示预览按系统查询顺序显示。
类型识别优先使用实际分享 Intent 中的明确 MIME。对于 */*、application/octet-stream、Flyme 的 application/mz-octet-stream 等通用类型,会结合文件 URI 的 MIME、文件名及 ClipData 类型识别图片、视频、PDF 和音频;文件附带的文字说明不会使其被误判为文本。混合或无法识别的文件仍使用默认配置。兼容 Flyme 显式启动且外层未设置 ACTION_CHOOSER 的分享包装。更新模块版本后须重启分享进程或手机,才会加载新的识别逻辑。
选择图片、视频、文本、PDF 或音频后,开启“单独设置此类型”即可独立隐藏和排序;未单独设置的类型沿用“默认”,旧版配置保留为默认配置。类型按分享内容的 MIME 识别,同类的单文件和多文件共用配置,混合或未识别类型使用默认配置。“重置当前类型”需确认后执行,具体类型恢复为沿用默认;重置默认配置也会影响沿用默认的类型,独立配置及总开关不受影响,保存后生效。首次使用须启用 com.android.intentresolver 作用域并重启该进程或手机;之后保存配置并重新打开分享面板即可。排序保留 Flyme 的常用、更多和设备分组,只影响各组内的顺序;新增应用沿用系统的相对顺序,隐藏设置不会添加不支持当前分享内容的目标。该功能针对 Flyme 定制分享面板,主动禁用 Flyme 面板的应用不受影响。
Flyme 图库使用应用内的独立分享面板(已核对图库 12.7.3),还须在 LSPosed 中勾选图库 com.meizu.media.gallery 作用域,并重启图库或手机。图库与系统分享共用上述类型配置;图库按当前所选内容的实际分享 Intent 判断图片、视频等类型,切换选择、展开“更多”和系统常用项刷新时都会重新应用规则,保留原有分组。首页的“系统分享”重启按钮仅重启系统分享进程;图库使用“Flyme 图库”按钮重启,再手动打开图库。
| 修改内容 | 首页重启入口 |
|---|---|
| 状态栏、图标、电池、时间、通知、mBack、全局负一屏手势 | SystemUI |
| 桌面外观、最近任务布局、堆叠参数 | 系统桌面 |
| 全局负一屏窗口、模糊与动画 | Aicy 纵览 |
| 小窗相关设置 | SystemUITools |
| 更新分享列表功能后加载新版模块 | 系统分享(重启后重新打开分享面板) |
| 更新图库分享功能后加载新版模块 | Flyme 图库(重启后手动打开图库) |
| OneMind 性能调节 | OneMind/PPS |
| 手机管家后台优化 | 手机管家 |
| 应用流转、车联相关设置 | CarLink |
| 输入法控制栏 | 对应的 AOSP 输入法、Gboard、微信输入法或 Flyme 输入法 |
| 系统框架相关功能、作用域变更 | 系统框架 → 重启手机 |
桌面和最近任务的状态栏颜色涉及系统界面与系统桌面;若切换后未更新,可分别重启这两个组件。输入法重启保留系统服务连接,重新调出键盘即可;手机管家和 CarLink 重启后可手动打开或等待系统拉起服务。作用域变更后可使用“系统框架 → 重启手机”。
安装后没有效果怎么办?
先检查 LSPosed 框架是否正常运行、是否支持 API 101,以及模块和对应作用域是否启用。重新打开模块设置,确认相关开关已开启、编辑内容已应用,再重启对应组件。若只有个别功能无效,反馈时请附上机型、完整 Flyme 版本、模块版本、复现步骤和相关日志。
隐藏桌面图标后,如何进入设置?
从 LSPosed 的模块页面打开设置,再到“关于与支持”关闭“隐藏桌面图标”,即可恢复桌面入口。
AI 桌面整理如何使用?
进入“系统外观 → AI 整理桌面”,填写兼容 Chat Completions 的完整 HTTPS 接口地址、模型名称,以及服务商要求的 API Key。点击“读取桌面”,在“整理范围”中选择参与整理的内容,再生成 AI 分类、预览调整,最后点击“应用整理”。
“整理范围”按读取时的桌面页序、图标位置和大文件夹占位显示,保留空白,小组件及特殊快捷方式显示为不可选占位。点击应用即可勾选,点击文件夹角标可全选其中可整理的应用,点击文件夹可展开逐个勾选;文件夹显示已选数量,部分选中时再次点击角标会全选,全部选中时点击会清空。支持切换页面、全选或清空本页,以及单独勾选未放到桌面的应用。取消弹窗不会更改范围。
默认只选桌面散落图标并保留首屏,也可用快捷选择批量选择图标及文件夹,或仅添加未放到桌面的应用。整页保留包含空白位置,不会填入新图标;保留的页面需先取消保留才能勾选。未选桌面图标与未清空的文件夹保留在原桌面位置;只选文件夹内部分应用时,其余应用留在原文件夹,内部位置可能由桌面自动调整。范围为空时不会请求 AI。
修改范围后需重新生成分类;范围和预览保存在本机。生成分类时仅向所配置的服务发送本次范围内的应用名称和包名,桌面布局不发送给 AI。更新模块后须重启系统桌面并重新读取,以启用布局预览和勾选。
调试页能改变实际信号或网络吗?
Telephony 调试用于模拟插卡数量、网络类型和信号等级,以检查图标显示,不会改变实际网络连接。调试结束后可点击“恢复真实系统”。
全局负一屏如何启用?
在 LSPosed 中勾选系统界面与 Aicy 纵览(com.meizu.assistant),重启手机,并先从桌面打开一次负一屏。进入“系统交互 → 全局负一屏”开启功能。选择触发侧边(左侧、右侧或两侧,默认左侧),从对应返回区域向屏幕内侧滑够距离并保持按住,达到时间阈值后打开面板;未达到阈值时正常返回,未选中的侧边保持系统行为;屏幕距离标识随侧边选择对应显示,两侧模式同时显示左右标线。通知栏或控制中心展开时,负一屏使用更高层级的系统窗口显示在其上方,返回关闭后恢复操作下面的面板;这条焦点交接链路仍需实机验证。
“触发场景”可多选常规界面(应用与桌面)、通知栏、控制中心,默认全选。点击设置行勾选后按“确定”保存;取消不保存,全部取消后显示“未选择触发场景”且不触发。通知栏或控制中心展开时按对应面板判断,不受底下应用影响;普通悬浮通知横幅不视为展开通知栏。起手和实际触发前都会检查当前场景,未勾选时保留系统手势,锁屏仍不触发。场景设置自动同步并参与配置备份与恢复;更新模块后需重启 SystemUI 或手机,场景切换与面板展开、收起过程仍需 Flyme 实机验证。
调节“滑动距离”或点击“显示标识”,可直接在屏幕上显示临时竖线:从所选屏幕边缘到竖线是当前最小滑动距离,继续向内滑仍有效。实际手势还需满足按住时间,不限制横纵位移比例。
“限制上下偏移”默认关闭;开启后,相对本次按下位置向上或向下偏移超过上限就取消本次负一屏触发,移回范围内也不会恢复,需重新起手。上限默认 48dp,可调 8–240dp,等于上限仍有效。切换开关、调节“上下偏移上限”或点击“显示上下边界”,会以屏幕中部的示例起点显示上下边界;实际边界随按下位置移动。关闭限制时仍可预览,并标明未开启。横向和纵向标识均不拦截触摸,最后一次调节或点击后 5 秒自动消失;离开页面、收起设置卡片或应用失去焦点时立即移除。相关设置自动同步,完整手势与预览效果仍需 Flyme 实机验证。
面板使用助手已有的卡片实例,通过 Flyme 使用的系统原生背景模糊 Drawable 提供窗口实时毛玻璃效果,卡片和文字保持原样,不额外叠加有色半透明底色。模糊背景挂在实际滑动的内容层,随面板移动和淡出,关闭时释放并恢复桌面负一屏原有背景与窗口参数;效果依赖设备的原生模糊渲染支持。面板跟随触发侧从左侧或右侧进入;展开后可向左右滑动退出,未滑够且未形成甩动时回弹。直接返回默认向左退出,编辑状态下仍先退出编辑;切换应用、回桌面、最近任务、锁屏和配置变化会收起全局面板。遵循系统允许的返回手势区域,锁屏、游戏禁用返回等情况下不强行接管。距离与时间设置自动同步。实现与验证边界见 全局负一屏说明。
如何备份或恢复设置?
在“高级与调试 → 配置管理”中导出或导入配置,也可恢复默认。恢复后若界面没有更新,重启对应组件。
Java 源码位于 app/src/main/java/com/example/flymestatusbarsizer/,按以下职责组织:
| 路径 | 职责 |
|---|---|
MainActivity.java、FlymeStatusBarSizer.java |
设置 Activity 与 Xposed 模块入口,保留原完整类名 |
config/ |
设置存储、运行时配置与跨进程同步 |
ui/ |
设置页面控制器、通用界面组件与颜色选择器 |
util/ |
通用反射工具 |
feature/battery/、feature/signal/、feature/wifi/ |
电池、信号和 Wi-Fi 绘制、预览与编辑 |
feature/statusbar/、feature/network/ |
状态栏场景着色、图标尺寸、组合预览与网速显隐 |
feature/clock/、feature/ime/ |
时钟与输入法功能,包括对应编辑器 |
feature/launcher/ |
桌面外观、最近任务与堆叠参数,organizer/ 存放桌面整理功能 |
feature/assistant/ |
左右侧长滑识别、受限 Binder 控制、负一屏窗口迁移与恢复 |
其他 feature/ 子包 |
mBack、小窗、CarLink、OneMind 和手机管家等功能 |
单元测试位于 app/src/test/java/,包结构与被测功能对应;状态栏场景检查也由 Gradle 的 Robolectric 测试运行。新增功能类放入对应功能包,跨功能共享配置和工具分别放入 config/、util/。Android 资源仍位于 app/src/main/res/。
使用 JDK 17 或更高版本和 Android SDK 36,在项目根目录执行:
./gradlew :app:testDebugUnitTest :app:assembleDebugcom.android.systemui/ 等本机提取资料不属于项目源码,不参与构建或提交。
- GitHub Issues:提交问题和功能建议。
- QQ 交流群:1102138381,也可从应用“关于与支持”页面进入。
本项目采用 MIT License。