Files
FamilyBook_harmonyos/entry
laoyang cebfbde887 生日卡:头像+姓名那一组真正居中 (#89b)
用户 2026-11-05:「看着效果不错,上面的头像和那个名字也是一样的,也往中间挪一挪。」

上一版给那个 Column 加了 `constraintSize({ maxWidth: '72%' })`,
但它里面两行 Text 都写着 `.width('100%')` ——
那是更早为了"长名字换行时占满整行"留的,副作用是把 Column 撑到上限:

  Row 里 Column 的宽度 = max(内容宽, 子项 100%) = 72%(顶到上限)
  ⇒ Row 的 `justifyContent(Center)` 只在这 72% 的外层居中,
    组内仍然左对齐、右边空掉 28% —— 正是用户说的"还偏左"。

改法:去掉两行 Text 的 `width('100%')`,让 Column 按**最长那行**收缩。
      这样 Row 的 Center 才能真正把「头像 + 姓名」整组挪到中间。

⚠️ 长名字仍然能换行(`maxLines(2)` + `TextOverflow.Ellipsis`,
   换行后 Column 自然变宽到内容宽度,`maxWidth: 72%` 兜着不会溢出)。
⚠️ 具体文字仍 `HorizontalAlign.Start`(左对齐)——用户要的是"块居中",
   不是"每行文字居中"。
⚠️ 方框那一行不用改:它右边那个 Column 里没有 width(100%) 的子项,
   本来就按内容收缩。

编译通过,已装真机。
2026-11-05 20:43:57 +08:00
..