通知弹窗
显示组、Slot、队列和动画的完整字段参考
先准备资产与局部 Layout,再定义显示组。操作教程见Popup 通知。Popup 文件位于 core/display/popups。顶层节点定义一个共享显示位和队列的显示组。
文件关系
tutorial_popup.yml
tutorial.yml
常用结构
notifications:
order: 0
anchor:
x: 100
y: 0
slots:
- x: -236
y: -14
pending-limit: 256
reflow:
duration: 6
easing: ease-out
popups:
notice:
layout: popup_notice
duration: 80
refresh: 5
variables:
title: "通知"
animation:
enter:
duration: 8
easing: ease-out
from:
x: 236
y: 0
opacity: 1
exit:
duration: 6
easing: ease-in
to:
x: 236
y: 0
opacity: 1显示组字段
| 字段 | 类型 / 省略值 | 范围 | 说明 | 生效 |
|---|---|---|---|---|
| 顶层节点 | 字符串 | 全局唯一 | Popup 显示组 ID | 打包 |
order | 整数 / 0 | 任意整数 | 多个显示组的合成顺序 | 打包 |
anchor.x/y | 小数 / 50,0 | 0~100 | 所有 Slot 的屏幕锚点 | 打包 |
slots | 列表 / 一个 0,0 | 至少一个 | 同时显示的位置 | 打包 |
pending-limit | 正整数 / 256 | 大于 0 | 等待队列上限 | 重载 |
reflow | 动画 / 无动画 | 见动画字段 | Slot 空出后其它实例补位 | 打包 |
popups | 映射 / 必填且非空 | Popup ID 到配置 | 当前组包含的 Popup 类型 | 打包 |
Popup ID 在所有显示组之间必须全局唯一。
Slot 字段
| 字段 | 类型 / 省略值 | 说明 |
|---|---|---|
x | 整数 / 0 | 相对显示组锚点的水平像素 |
y | 整数 / 0 | 相对显示组锚点的垂直像素,正数向上 |
Slot 数量就是同时显示数量。更多实例按 FIFO 顺序进入等待队列。等待数量达到 pending-limit 后,新请求会失败并返回明确错误,而不是无限占用内存。
Popup 类型字段
| 字段 | 类型 / 省略值 | 说明 | 生效 |
|---|---|---|---|
layout | Layout ID / 必填 | 弹窗画面;必须使用局部坐标 | 打包 |
duration | 非负整数 / 80 | 完成入场后的停留 tick;0 表示常驻 | 重载 |
refresh | 正整数 / 5 | Layout 内容刷新间隔 tick | 重载 |
variables | 字符串映射 / 空 | 默认 Layout 变量 | 重载 |
animation.enter | 动画 / 无动画 | 入场动画 | 打包 |
animation.exit | 动画 / 无动画 | 退场动画 | 打包 |
显示组归属由 Popup 所在的 popups 节点决定,不需要填写 group。
动画字段
animation.enter 和 animation.exit 的字段如下。reflow 只使用 duration 和 easing,起止位置由 Slot 自动计算,不填写 from/to。
| 字段 | 类型 / 省略值 | 范围 | 说明 |
|---|---|---|---|
duration | 非负整数 / 0 | 0 或更大 | 动画 tick;0 立即完成 |
easing | 字符串 / ease-out | linear、ease-in、ease-out、ease-in-out | 速度曲线 |
from | Pose / 无 | 入场可用 | 开始状态 |
to | Pose / 0,0,1 | 入场和退场可用 | 结束状态;入场完成后持续保持 |
退场总是从当前状态开始,因此 animation.exit.from 不允许填写。
Pose 字段
| 字段 | 类型 / 省略值 | 范围 | 说明 |
|---|---|---|---|
x | 小数 / 0 | 有限数字 | 相对 Slot 的额外水平像素 |
y | 小数 / 0 | 有限数字 | 额外垂直像素,正数向上 |
opacity | 小数 / 1 | 0~1 | 0 完全透明,1 完全不透明 |
Pose 作用于整个 Layout,不改变内部元素坐标。
生命周期
queued → preparing → entering → visible → exiting → ended- 排队时间不计入
duration。 renew只恢复停留时间,不改变队列位置。update合并变量,不重新播放入场。force关闭时跳过退场。