From 723d028679b63cf94370feee77e4a7f999a40f85 Mon Sep 17 00:00:00 2001 From: laoyang Date: Fri, 6 Nov 2026 07:41:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=8A=E5=A4=A9=E7=9A=84=E6=97=A5=E7=A8=8B?= =?UTF-8?q?=EF=BC=9A=E6=95=B4=E5=9D=97=E5=86=85=E5=AE=B9=E8=A1=A5=E9=A1=B6?= =?UTF-8?q?=E9=83=A8=E5=86=85=E8=BE=B9=E8=B7=9D=EF=BC=8C=E4=B8=8D=E5=86=8D?= =?UTF-8?q?=E8=B4=B4=E7=99=BD=E5=8D=A1=E9=A1=B6=E8=BE=B9=20(#61)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 用户:首页“今天的日程”那个色块,距离下边白色背景的上边缘还是贴着的。 跟之前我们提到过的“全天日程”一样,上面得稍微留一点空间。 与上轮不同:#61 上轮修的是 FbDayTimeline 里全天色块自己的 padding, 这次是整块内容(时间轴第一个刻度 + 第一条日程色块)都贴边,位置更外层。 根因:FbDayEventPanel 在首页是 showHead=false(首页自带 FbSectionTitle), 头部一关就没有任何顶部内边距了 —— 空态/时间轴/列表三个分支的 padding 都只有 left/right/bottom。内容直接从白卡片圆角顶边开始。 改法:加在根容器上,且只在 showHead=false 时生效 .padding({ top: this.showHead ? 0 : 10 }) - 加根容器而不是三个分支:分支会增删,漏一个就复现;根是唯一入口 - 带条件:有头时头自己带 top:12,再补会让标题离卡片顶太远(日程页会显形) - 取 10:与本单上轮给全天色块的 top:10 同数,两处呼吸要一致 验证(真机):白卡顶边 y=1062、首个色块 y=1094,间距 32px=10.2vp (改前 9px=2.9vp)。3 处调用点里只有首页 showHead=false 受影响, 日程页两处默认 true 零变化。hvigorw assembleHap BUILD SUCCESSFUL。 --- entry/src/main/ets/components/FbDayEventPanel.ets | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/entry/src/main/ets/components/FbDayEventPanel.ets b/entry/src/main/ets/components/FbDayEventPanel.ets index 32d84b8..63e119b 100644 --- a/entry/src/main/ets/components/FbDayEventPanel.ets +++ b/entry/src/main/ets/components/FbDayEventPanel.ets @@ -122,6 +122,21 @@ export struct FbDayEventPanel { .backgroundColor(FbColors.surface) .borderRadius(FbMetric.radius) .margin({ left: FbMetric.pagePad, right: FbMetric.pagePad, top: 12, bottom: 12 }) + /* 🔴 用户 2026-11-06:「首页"今天的日程"那个色块,距离下边白色背景的上边缘 + 还是贴着的。跟之前我们提到过的"全天日程"一样,上面得稍微留一点空间。」 + + 根因:`showHead = false` 时(首页就是这样)面板头整个不渲染, + 而**三个内容分支的 padding 都只有 left/right/bottom、没有 top** + ⇒ 内容直接从白卡片的圆角顶边开始,第一个色块与卡片边缘重合。 + + ⇒ 只在 `showHead === false` 时补顶部内边距。有头的时候头自己带 + `top: 12`,再补一次会让标题离卡片顶太远(日程页会出现这种情况)。 + + ⚠️ 值取 10,与 #61 给全天色块补的 `top: 10` 同一个数 —— + 两处都是「块与卡片边缘之间」的呼吸,视觉上要一致。 + ⚠️ 不要在三个分支里各加一遍:分支会增删,漏一个就复现这次的问题。 + 加在**根容器**上才是唯一入口。 */ + .padding({ top: this.showHead ? 0 : 10 }) .alignItems(HorizontalAlign.Start) }