观影/联系人详情卡补内置蒙版 (#78)
用户:电影这个框弹出来的时候,应该在下面盖一层蒙版吧?跟近期任务类似。 首页各浮层里只有这两张卡没有遮罩:FbTaskPanel / FbDayEditSheet 都是组件内部 根 Stack 自带遮罩+卡片,而 FbMovieDetailSheet / FbPersonSheet 两处漏了, 卡片直接浮在正文上,底下的片名、影院、联系人名字透出来。 改法(按项目既有约定:谁铺满全屏,谁负责画遮罩): - FbMovieDetailSheet.build 根节点 Column -> Stack,前面插全屏 FB_MASK 遮罩, onClick 关闭;卡片容器保持铺满+居中且 HitTestMode.Transparent; - FbPersonSheet.build 同样套一层 Stack + 遮罩(embedded 分支跳过, 那种形态宿主是 bindSheet,系统已有遮罩,再叠就是双暗); - 宿主 FbHomePage 不再包遮罩,只留注释说明。 原因:组件根节点自己铺满全屏,会在外面先吃掉点击 —— 宿主包遮罩会 蒙版看着有、点它关不掉;包两层还会越点越黑(本轮真机实测踩到)。 验证(真机 5NC0225B27004718): - 弹卡后卡片外像素 (247,243,234) -> (147,146,141),反推 alpha=0.40 = 0x66/255; - 卡片内海报 (230,212,188) 不受影响; - 点遮罩后恢复 (247,243,234),卡片关闭; - 联系人卡同样三条全过;hvigorw assembleHap BUILD SUCCESSFUL。
This commit is contained in:
@@ -2125,7 +2125,14 @@ export struct FbHomePage {
|
||||
/* 🔴 用户:「"最近观影"点了之后没反应…点了之后应该有反应,
|
||||
要么弹出来详细信息。」
|
||||
⚠️ 复用电影页的同一张卡(`FbMovieDetailSheet`),
|
||||
不为首页另写一套 —— 否则改一处要改两处。 */
|
||||
不为首页另写一套 —— 否则改一处要改两处。
|
||||
|
||||
🔴 用户 2026-11-06:「电影这个框弹出来的时候,应该在下面盖一层蒙版吧?
|
||||
跟近期任务类似。」
|
||||
⇒ 蒙版由**组件自己**提供(`FbMovieDetailSheet` 内部根 Stack:
|
||||
遮罩 + 卡片叠着),与 `FbTaskPanel` / `FbDayEditSheet` 同一做法。
|
||||
**宿主这里不要再包一层** —— 包了就是两层暗色叠在一起(越点越黑),
|
||||
而且点遮罩时会被组件自己的全屏根节点拦掉,关不掉。 */
|
||||
if (this.mvDetail !== null || this.mvDetailLoading
|
||||
|| this.mvDetailError !== '') {
|
||||
FbMovieDetailSheet({
|
||||
@@ -2145,7 +2152,10 @@ export struct FbHomePage {
|
||||
// ==================== #64:联系人详情(可打电话)====================
|
||||
/* 🔴 用户:「点击之后弹出来详细信息,就跟名册里面那个人的列表
|
||||
点击完之后的效果是一样的,这样可以直接打电话。」
|
||||
⚠️ 复用名册那张卡(`FbPersonSheet`),它自带手机号拨号入口。 */
|
||||
⚠️ 复用名册那张卡(`FbPersonSheet`),它自带手机号拨号入口。
|
||||
|
||||
🔴 2026-11-06 同一条:蒙版同样由组件自己提供(`FbPersonSheet` 内部根
|
||||
Stack:遮罩 + 卡片)。宿主不包 —— 理由同上一段。 */
|
||||
if (this.pfDetail !== null) {
|
||||
FbPersonSheet({
|
||||
person: this.pfDetail,
|
||||
|
||||
Reference in New Issue
Block a user