Skip to content

Commit 475d9a6

Browse files
authored
Merge pull request #2496 from wgqqqqq/codex/fix-harmonyos-trifold-header-gutters
fix(harmonyos): align collapsed header actions to edges
2 parents 1617db0 + f39c50e commit 475d9a6

2 files changed

Lines changed: 7 additions & 7 deletions

File tree

src/apps/mobile/harmonyos/docs/wide-conversation-navigation-design.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ Scope: `src/apps/mobile/harmonyos`,主要涉及双屏/三屏布局、会话来
2525
- 两道折痕或 lg 宽度被识别为 extra-wide,但会话仍使用同一个 master-detail,不创建第三会话栏。官方聊天分栏在 md/lg/xl 均为列表|会话;第三窗格只用于文件预览。
2626
- 第二道折痕不再把会话详情收成中间或右侧的单屏带。detail 从第一道折痕之后一直铺到窗口右缘,中间和右侧两屏共同承载同一会话;正文用最大宽度约束,避免无限制拉宽。不增加第三个业务 pane。
2727
- 监听 `foldStatusChange``foldDisplayModeChange`,折叠形态变化时重算几何。
28-
- 收起 master 后,detail 内容继续按整窗居中;恢复按钮进入会话 Header leading slot,与
29-
trailing 操作按钮共用同一 content gutter。不再为恢复按钮把消息区、Composer 和内部操作按钮
30-
整体向右平移;该旧补偿在双屏没有可用余量时为 0,只有三屏会达到 72vp,导致同一交互在两种
31-
展开形态下位置不一致
28+
- 收起 master 后,会话 Header 铺满 detail;恢复按钮进入 leading slot,与 trailing 操作按钮
29+
分别使用 detail 两侧的 16vp gutter。消息区和 Composer 继续独立限宽并按整窗居中,不再为
30+
恢复按钮把整条内容带向右平移;该旧补偿在双屏没有可用余量时为 0,只有三屏会达到 72vp,
31+
导致同一交互在两种展开形态下位置不一致
3232

3333
### 已验证
3434

@@ -280,7 +280,7 @@ MasterDetail -> 双屏和三屏共同使用的 master-detail
280280
- 页面头部和背景可以占满整个 detail pane。
281281
- 消息阅读区、状态内容和 Composer 应设置合理最大宽度,并在 detail pane 内稳定对齐。
282282
- 存在第二道折痕时,会话详情仍占据第一道折痕之后的整段剩余宽度(中间+右侧),不得只留在最宽的那一屏。
283-
- 收起 master 后:双折和三折都把会话铺满整窗,恢复按钮位于会话 Header 左端,与右侧操作按钮对称。展开态三折 detail 仍从第一道折痕铺到右缘;只有收起左栏时才占用第一屏。
283+
- 收起 master 后:双折和三折都把会话铺满整窗,Header 跨满 detail,恢复按钮与右侧操作按钮分别贴合两侧 16vp gutter;消息区和 Composer 保持居中限宽。展开态三折 detail 仍从第一道折痕铺到右缘;只有收起左栏时才占用第一屏。
284284
- 最大宽度不能按视口宽度缩放字体,只限制内容容器。
285285
- 第二道折痕位于 detail 内部时,不因此再切出第三会话栏;关键点击控件随内容带一起落在剩余两屏内。
286286
- 第一阶段不利用第二道折痕拆出文件、任务或其他辅助面板。
@@ -472,7 +472,7 @@ MasterDetail -> 双屏和三屏共同使用的 master-detail
472472
| 宽屏点击远程会话 | 左侧立即选中新会话;右侧立即进入该会话,慢加载时显示时间线骨架,完成后原位替换为历史消息 |
473473
| 三屏完整展开,本地会话 | 左屏显示本地 master,中间和右侧共同显示一个本地 detail |
474474
| 三屏完整展开,远程会话 | 左屏显示远程 master,中间和右侧共同显示一个远程 detail |
475-
| 三屏收起 master | detail 铺满整窗,标题、消息区、Composer 与内部操作按钮仍相对整窗居中;恢复按钮与右侧操作按钮共享 Header 边距 |
475+
| 三屏收起 master | detail 与 Header 铺满整窗,标题、消息区和 Composer 相对整窗居中;恢复按钮与右侧操作按钮分别使用两侧 16vp Header 边距 |
476476
| 三屏远程断开 | 左屏仍显示来源选择器,右侧两屏显示一个连续断开状态 |
477477
| 双屏切换到三屏 | detail 扩展到右侧两屏,路由和活动会话不变 |
478478
| 三屏切换到双屏 | detail 收回右侧一屏,路由和活动会话不变 |

src/apps/mobile/harmonyos/entry/src/main/ets/pages/components/WideConversationHost.ets

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ export struct WideConversationHost {
286286
}
287287
Row() {
288288
Column() { this.RouteSurface(showBackButton) }
289-
.width('100%').height('100%').constraintSize({ maxWidth: WIDE_DETAIL_CONTENT_MAX_WIDTH })
289+
.width('100%').height('100%')
290290
.backgroundColor(PAGE_BG)
291291
}
292292
.width(this.currentDetailWidth() > 0 ? this.currentDetailWidth() : '100%')

0 commit comments

Comments
 (0)