From 15bc3c8599f7cae04babb930f7ff639983e578d1 Mon Sep 17 00:00:00 2001 From: laoyang Date: Tue, 20 Oct 2026 22:09:51 +0800 Subject: [PATCH] =?UTF-8?q?v69b=EF=BC=9A=E5=A4=A7=E5=8D=A1=E6=8A=AC?= =?UTF-8?q?=E5=A4=B4=E3=80=8C=E6=98=9F=E6=9C=9F=20+=20=E5=86=9C=E5=8E=86?= =?UTF-8?q?=E3=80=8D=E5=90=88=E6=88=90=E4=B8=80=E8=A1=8C=EF=BC=88=E7=9C=9F?= =?UTF-8?q?=E6=9C=BA=E4=B8=8A=E7=AC=AC=E4=BA=8C=E8=A1=8C=E8=A2=AB=20Divide?= =?UTF-8?q?r=20=E5=88=87=E6=8E=89=E5=8D=8A=E6=88=AA=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 真机截图看到 4×4 卡的抬头是「10月20日」下面压着半截字(看着像"一十三"): 原来是 12sp 日期 + 9sp 农历**两行**,4×4 卡高度紧, 第二行被下面的 Divider 压掉了一半。 ⇒ 四处统一走 `subLine()` 拼成一行(`星期二 十一`): 2×2 / 2×4 本来就是单行、真机上是正常的,大卡跟它们对齐。 守卫加 v66 ⑭(四块卡都必须走 `subLine()`,且不许退回"农历有值就吞掉星期"的写法), 反向验证加一条注入(把 4×4 改回 `Text(this.lunarText)` ⇒ 守卫变红)。 --- entry/src/main/ets/pages/card/FbCard4x4.ets | 17 ++++++++++++++++- entry/src/main/ets/pages/card/FbCard6x4.ets | 15 ++++++++++++++- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/entry/src/main/ets/pages/card/FbCard4x4.ets b/entry/src/main/ets/pages/card/FbCard4x4.ets index 48f3fc6..592a55c 100644 --- a/entry/src/main/ets/pages/card/FbCard4x4.ets +++ b/entry/src/main/ets/pages/card/FbCard4x4.ets @@ -129,6 +129,18 @@ struct FbCard4x4 { return off; } + /** 副标题:`星期二 十一`(缺哪段就少哪段) */ + private subLine(): string { + const parts: string[] = []; + if (this.weekday !== '') { + parts.push(this.weekday); + } + if (this.lunarText !== '') { + parts.push(this.lunarText); + } + return parts.join(' '); + } + /** 打开应用并定位到卡片显示的那天 */ private openApp(): void { postCardAction(this, { @@ -490,7 +502,10 @@ struct FbCard4x4 { .fontWeight(FontWeight.Bold) .fontColor(this.isToday ? '#A84A28' : '#2C231D') .maxLines(1) - Text(this.lunarText === '' ? this.weekday : this.lunarText) + /* ⚠️ 星期与农历**合成一行**:真机上两行时,第二行会被下面的 Divider + 切掉半截(4×4 卡高度紧,12sp+9sp 两行放不下)。一行也不会更挤 —— + 2×2 卡上就是这么排的,实测正常。 */ + Text(this.subLine()) .fontSize(9) .fontColor('#A8988A') .maxLines(1) diff --git a/entry/src/main/ets/pages/card/FbCard6x4.ets b/entry/src/main/ets/pages/card/FbCard6x4.ets index ea41982..321aa90 100644 --- a/entry/src/main/ets/pages/card/FbCard6x4.ets +++ b/entry/src/main/ets/pages/card/FbCard6x4.ets @@ -126,6 +126,18 @@ struct FbCard6x4 { return off; } + /** 副标题:`星期二 十一`(缺哪段就少哪段) */ + private subLine(): string { + const parts: string[] = []; + if (this.weekday !== '') { + parts.push(this.weekday); + } + if (this.lunarText !== '') { + parts.push(this.lunarText); + } + return parts.join(' '); + } + /** 打开应用并定位到卡片显示的那天 */ private openApp(): void { postCardAction(this, { @@ -487,7 +499,8 @@ struct FbCard6x4 { .fontWeight(FontWeight.Bold) .fontColor(this.isToday ? '#A84A28' : '#2C231D') .maxLines(1) - Text(this.lunarText === '' ? this.weekday : this.lunarText) + /* ⚠️ 星期与农历**合成一行**(真机上两行时第二行会被 Divider 切掉半截) */ + Text(this.subLine()) .fontSize(9) .fontColor('#A8988A') .maxLines(1)