diff --git a/MEOW_APP_SDK.md b/MEOW_APP_SDK.md index d0bae73..771b74f 100644 --- a/MEOW_APP_SDK.md +++ b/MEOW_APP_SDK.md @@ -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 底"(页面控件残留,跨页不复用)。