docs: MEOW_APP_SDK §6.1 命中顺序补"模态层=命中首层+scrim外区拦截消费"(根治穿透)

- 命中顺序从顶往下: +0当前模态(scrim)层(命中modal项=处理, 命中scrim外区=关闭modal且消费不放行) → ③系统全局→②App全局→①当前Activity页面控件
- 模态层由SDK命中分发统一保证(meow_ui_input/meow_widget_hit): 任何模态(Dialog/Sheet/设置弹窗/电源菜单/通知中心)自动点外关闭+不穿透; 各界面不得各自局部补丁
- 此前设置页排空/防抖为局部实现, 未上收; 本条目为根治(统一模态层拦截)
This commit is contained in:
MeowOS committed 2026-08-30 23:57:55 +08:00
1 parent 9f19f2887e
commit 07e621e03b
1 file changed
+4 -1
+4 -1
View File
@@ -766,7 +766,10 @@ void meow_ui_swipe_hint(int x);
- **③ 系统级控件**:状态栏、通知中心入口、左缘返回/全屏滑条、电源菜单、全局返回手势指示等**全局叠加层**——**只留 SDK 内部接口位,用户侧 App 一律不可调用**(开放成「悬浮窗/全局叠加层」会引入遮挡、冲突、性能与安全风险)。App 这类需求只能走 SDK 标准能力,不得自行叠加全局层。
#### 交互分层(命中分流)
触摸命中顺序:**③ 系统全局 → ② App 全局 → ① 当前 Activity 页面控件**;某层命中即消费,否则落到下一层。
触摸命中顺序(从顶往下):
- **+0 当前模态(scrim)层(命中首层,根治穿透)**:命中 modal 项=处理;命中 scrim 外区=**关闭 modal 并【消费,不放行】**;
- 然后 **③ 系统全局 → ② App 全局 → ① 当前 Activity 页面控件**;某层命中即消费,否则落到下一层。
- **+0 模态层由 SDK 命中分发统一保证**(`meow_ui_input`/`meow_widget_hit`):任何模态(Dialog/Sheet/设置弹窗/电源菜单/通知中心)自动"点外关闭 + 不穿透",各界面不得各自局部补丁(此前设置页用排空/防抖等为局部实现,未上收;本条目根治穿透,统一模态层拦截)。
#### 与 agent-119「即时重绘注册表」的关系
`g_live_btns[]` 从进程级全局,改为**按 Activity 分区**的控件注册集;非 active Activity 的控件不参与命中。这直接根治 agent-119 遗留的"全屏页触摸到主界面按钮位置 → 短暂闪现 accent 底"(页面控件残留,跨页不复用)。