v95 服务卡片四项:日程卡「今」按钮放大、观影/任务 2x4 列表可滑动、观影 4x4/6x4 补列间距且 6x4 改两列
#1 用户提四项(2026-10-26): 「日程的右上角那个今天的今,特别不好点,一不小心就到日程里面去了…… 是不是可以把按钮弄的大一点。」 「观影的卡片,2x4,右侧观影的列表,不能上下滑动,第三个被截断,很难看, 如果显示多个,就要能滑动,如果不能滑动,就显示两个。」 「任务的 2x4 卡片,也是一样的。」 「观影的 4x4 卡片,和 4x6 卡片,两列图片挤在一起,中间没有空隙,应该缩小一点, 这个大小,我感觉应该根据屏幕的大小来。4x6,宽度都是一样的,为啥要弄成三列?」 ① 日程卡「今」按钮 22x22 → 32x32 病根:22 的圆比最小建议点击区小一半,手指偏一点就落到卡片本体的 `.onClick(openApp)` 上 ⇒ 「想回今天」变成「进了日程详情」。 面积 484 → 1024(2.1 倍);同一份 sideBtn() 里的「+」一并放大, 翻页键 ‹ › 本来 32,现在四个按钮手感一致。 为什么是 32 不是 40:4x4 卡高度紧,顶栏与内容区竖向堆叠 (内容区 layoutWeight(1)),顶栏长高多少内容区就少多少。 必须改 width/height 本身 —— 卡片里这是 Button,可点区就是自己的宽高。 ②③ 观影/任务 2x4 右半 Column → List(可滚动) 病根不在条数而在容器:Column 根本不滚动 + 硬截 3 条, 3x(38+10=48) + 2x6 = 156vp 而可用仅 ≈130vp ⇒ 第三条被压扁/裁掉。 条数上限 3 → MR_2X4_MAX=12 / TK_2X4_MAX=30;滚动条 BarState.Auto (条目少时不露空滚动条)。数据侧 FbCardMediaData 两处 `rows.length < 4` 同步放到 30,否则卡上拿到的还是 4 条,改了容器也滑不出东西。 ④ 观影 4x4 / 6x4 补列间距 + 6x4 三列改两列 病根:`List({ space: 8 })` 的 space 在 lanes 多列模式下只管行间距, 列与列之间不会自动留缝;海报格 .width('100%') + .aspectRatio(0.68) 又贴着 lane 边排 ⇒ 两列严丝合缝贴死。 改法:.lanes(2) → .lanes(2, 8),第二个位置参数才是列间距 gutter。 ⚠️ gutter 是位置参数(SDK list.d.ts: lanes(value, gutter?: Dimension), Dimension = PX|VP|FP|LPX|Percentage|Resource)⇒ 传数字, 写成 { gutter: 8 } 是类型错误(中途踩到,编译期才炸)。 6x4 同时从 .lanes(3) 改成两列,与 4x4 一致;文件头那句 「这块卡更宽、一排放三张」已过时,已注明别再照着它改回去。 同批带上 v92 未提交的观影海报墙实现(此前只在工作树里,从未提交过): - 新增 data/FbCardImages.ets(下载 + desiredSize 缩图 + fd 管理) - FbCardMediaData / FbFormAbility / FbCardForms 里的 formImages 管道 - string.json 卡片名带尺寸(「家书 · 日程 4×4」/「家书 · 观影 4×4」) ⚠️ FbCardImages.ets 已被 FbCardMediaData import,不一起提交就编译不过。 验证: - 静态守卫 _fb_arkts_guard.js:1303 通过 / 0 失败 (新增 groupV95() 共 28 条,钉住按钮尺寸、List 容器、条数上限、 两列 + gutter>0、且不许写成 { gutter: N } 对象) - 反向验证 _fb_v59d_falsify.py:289 通过 / 0 失败 (新增 9 条注入,逐条证明上述断言真的会红) - 真编译 hvigorw assembleHap:BUILD SUCCESSFUL,HAP 产物已生成 ⚠️ 真机验收未做:hdc list targets 为空(设备未连/未解锁)。 这四项全是观感与手感,静态断言证明不了「点得着、滑得动、看着舒服」, 待设备连上后补真机探针(重点:真的点「今」、真的滑列表、量两列实际间距)。
This commit is contained in:
@@ -22,51 +22,51 @@
|
||||
},
|
||||
{
|
||||
"name": "card_2x2_name",
|
||||
"value": "家书 · 今天"
|
||||
"value": "家书 · 今天 2×2"
|
||||
},
|
||||
{
|
||||
"name": "card_2x4_name",
|
||||
"value": "家书 · 今日日程"
|
||||
"value": "家书 · 今日日程 2×4"
|
||||
},
|
||||
{
|
||||
"name": "card_4x4_name",
|
||||
"value": "家书 · 日程"
|
||||
"value": "家书 · 日程 4×4"
|
||||
},
|
||||
{
|
||||
"name": "card_6x4_name",
|
||||
"value": "家书 · 日程(宽)"
|
||||
"value": "家书 · 日程 6×4"
|
||||
},
|
||||
{
|
||||
"name": "card_movie_2x2_name",
|
||||
"value": "家书 · 观影"
|
||||
"value": "家书 · 观影 2×2"
|
||||
},
|
||||
{
|
||||
"name": "card_movie_2x4_name",
|
||||
"value": "家书 · 最近观影"
|
||||
"value": "家书 · 观影 2×4"
|
||||
},
|
||||
{
|
||||
"name": "card_task_2x2_name",
|
||||
"value": "家书 · 待办"
|
||||
"value": "家书 · 待办 2×2"
|
||||
},
|
||||
{
|
||||
"name": "card_task_2x4_name",
|
||||
"value": "家书 · 待办任务"
|
||||
"value": "家书 · 待办 2×4"
|
||||
},
|
||||
{
|
||||
"name": "card_movie_4x4_name",
|
||||
"value": "家书 · 观影(全部)"
|
||||
"value": "家书 · 观影 4×4"
|
||||
},
|
||||
{
|
||||
"name": "card_movie_6x4_name",
|
||||
"value": "家书 · 观影(宽)"
|
||||
"value": "家书 · 观影 6×4"
|
||||
},
|
||||
{
|
||||
"name": "card_task_4x4_name",
|
||||
"value": "家书 · 待办(全部)"
|
||||
"value": "家书 · 待办 4×4"
|
||||
},
|
||||
{
|
||||
"name": "card_task_6x4_name",
|
||||
"value": "家书 · 待办(宽)"
|
||||
"value": "家书 · 待办 6×4"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user