用途:为 Even Hub G2 应用构建眼镜显示界面,覆盖 576x288 像素画布上的文本容器、列表、图片、页面生命周期与布局模式。
画布:原点在左上角 (0,0),X 向右 0–576,Y 向下 0–288;4 位灰度共 16 级绿色(0–15),白色显示为亮绿,黑色为透明(透出真实世界),无默认背景。
容器规则:每页最多 12 个容器,其中文本/列表最多 8 个、图片最多 4 个;必须恰好一个容器设 isEventCapture: 1 接收输入;containerID 与 containerName 每页唯一(名称最长 16 字符)。zOrderIndex 自 SDK 0.0.12+ 支持,需全页统一设置且唯一,越大越靠前;全部省略时按声明顺序叠加。
共享属性:xPosition、yPosition、width、height、containerID、containerName、isEventCapture、zOrderIndex。边框属性仅适用于文本与列表容器:borderWidth 0–5、borderColor 0–15、borderRadius 0–10、paddingLength 0–32。
文本容器:content 为显示文本,createStartUpPageContainer 与 rebuildPageContainer 上限 1000 字符,textContainerUpgrade 上限 2000 字符;自动换行,\n 换行,约 400–500 字符填满全屏;仅左对齐,无字号、粗体、斜体控制。
列表容器:由固件原生滚动,itemCount 1–20,itemName 每项最长 64 字符,itemWidth 为 0 时自动填满;无法原地更新,需重建整页;无逐项样式、行高与分隔线。
图片容器:宽 20–288、高 20–144,不支持 isEventCapture;接受 number[]、Uint8Array、ArrayBuffer 或 base64,4 位灰度;创建后为占位符,必须调用 updateImageRawData 才显示;不可并发发送,需排队等待。
页面生命周期:createStartUpPageContainer 仅启动时调用一次,返回 0 成功、1 参数无效、2 过大、3 内存不足;rebuildPageContainer 全量重绘(有闪烁);textContainerUpgrade 原地更新文本(无闪烁,需 containerID 与 containerName 完全匹配,contentOffset: 0、contentLength: 0 表示整体替换);updateImageRawData 返回 success、imageException、imageSizeInvalid、imageToGray4Failed、sendFailed;shutDownPageContainer 的 exitMode 0 立即退出、1 显示确认对话框。
常用模式:用 > 前缀模拟按钮;切换 borderWidth 表示选中;多行文本容器纵向堆叠;用 Unicode 方块字符绘制进度条;按约 400–500 字符分页并配合 rebuildPageContainer 翻页。图片优先应用可用全屏透明文本容器作事件层、图片容器叠加其上。
限制与建议:图片帧经 BLE 传输约 0.5–2 秒,无增量编码,应设计为回合制;文本更新远快于图片;所有桥接调用应串行并加超时;持久化写入需防抖;createStartUpPageContainer 只调用一次。
任务:$ARGUMENTS