该技能面向 Meta Ray-Ban Display 的内容与身份界面构建与审查,定位为 UI Toolkit 中的一类界面组件实践指南。
用途与准备工作:用于构建或检查文本、图标、头像、应用徽章、通知徽章、标签、Chip、容器标题、ReadMoreTextView 等元素。使用前需阅读内容表面与媒体相关参考,并结合主题/颜色技能确定 token 决策;完整身份、徽章、图标与动态文本行为需查阅内容组件参考。
文本:使用 TextView 的公开 textStyle={TextStyle.*} 属性,或对普通语义元素应用工具包文本外观类;TextView 无 appearance 属性,语义 HTML 通过 as 选择。不得硬编码字体度量、字间距或字面文本颜色,需测试本地化与最大行数行为。绝大多数层级应基于 TextStyle.BODY2、BODY2_EMPHASIZED、label 和 metadata 样式;BODY2 是常规正文尺寸与日常 UI 的实际上限。语义标题标记不要求视觉上很大的标题样式;BODY1、display、heading 与 numeral 样式属例外,需具体产品需求并设备验证,罕见的主数值读数通常是例外。只写产品内容,不暴露实现或设计系统理由。长段自由浮动文案背后使用单个 Panel/StaticContainer 以保障加性显示可读性,不再加第二个圆角文本容器。ReadMoreTextView 截断可选辅助文案并渲染非交互溢出标签,展开阅读流程由应用负责;TextSwitcher 用于短变化值交叉淡入,不用于段落或高频遥测。
图标:使用填充且语义准确的工具包图标。IconSource 支持内联矢量、着色 URI 蒙版与不着色全彩 URI 资源;尺寸、对齐与着色由宿主组件负责。不得向图标属性传 JSX,也不得在教学含义之外使用手势图标。公开填充 SVG 导入路径为 @wearables-ui-toolkit/icons/svg/<semantic-name>__filled.svg;生成应用时不要浏览图标目录,使用产品需求或该指南已确立的精确资源,否则省略可选图标。
头像与徽章:已知人物使用真实图片;Avatar 支持语义尺寸/形状、自定义内容、双人身份、徽章、占位符、描边与带可选字形的语义状态。除装饰外应提供有用替代文本;已知双人身份两半都用真实图片;使用 Avatar 自带的徽章槽。自定义应用徽章可将填充图标居中/内嵌于圆形 StaticContainer 材料中,不得伪造缺口或添加第二个裁剪包装。AppBadge 用于紧凑的辅助应用身份,NotificationBadge 用于附着于其他对象的短计数,Tag 用于静态分类,Chip 用于静态紧凑状态/元数据,它们都不是按钮。装饰性徽章含义应并入其所装饰对象的无障碍标签,而非单独焦点停靠点。Chip、Tag、AppBadge 始终保留组件自有的内在宽高,不得通过属性、样式、CSS、flex/grid 尺寸、变换或约束包装强制缩放;在 flex 列中将紧凑子元素对齐到 flex-start,在行中保持其内在基准且必要时换行。Header 也拥有内在尺寸,但仅 Page 渲染它;应用内容不得直接放置或样式化 Header,也不得用于区块、列表或行。不得用 StaticContainer、Container、Surface、Panel 或样式化 HTML 绘制类似 Chip/Tag/Header 的胶囊来绕过内在尺寸。Chip 前置模式(无、图标、头像、加载)互斥,并声明式动画变化,避免无真实应用状态时循环切换。ContainerHeader 属于更大的 Container 区域内部,不是任意独立标题或 VerticalList 区段标签。Page 配置 Header 并拥有路由身份。
页面标题与限制:Page 标题保持简洁路由身份与简短辅助元数据,不将所有标题、时间戳、时长、频道与位置拼接进固定覆盖层;在最窄视口验证渲染边界,将易溢出事实移入正文。Header 标题、元数据/副标题与文本状态各最多两个词;元数据/状态可选,除非高价值上下文实质改变理解或下一步操作,否则省略,且不能作为常规事实的溢出空间。SubNavigationPager 标签标题为一个词。需验证有意义/装饰性无障碍、纯图标标签、1/2/3 位徽章居中、长文本、头像加载/回退、双人/徽章/状态组合、滚动后状态转换与加性显示对比度。