用途:为 Meta VR 与 Horizon OS 上的 Android 应用构建界面,基于 Jetpack Compose 的组件库与设计系统。公开 API 位于 metavrx.uiset.compose 及其子包,Maven 坐标为 com.meta.metavrx.uiset:uiset-compose-compat。
主要能力:UiSetTheme 提供暗色/亮色方案、VR 排版、Standard 密度与语义颜色,无需配置即可使用。组件包括 LabelButton、Surface、Text、Icon、Checkbox、RadioButton、Switch、Slider、Dropdown、IconDropdown、ChoiceListDialog 等。主题下仍是普通 Compose,可用 foundation 的 Row/Column/Box 与常规状态重组。
使用方式:在 UiSetTheme 内使用组件,例如 UiSetTheme { Surface { Column { Text("Guardian", style = UiSetTheme.typography.headline); LabelButton(label = "Continue", onClick = onContinue) } } }。需从 metavrx.uiset.compose.* 导入,不要与 Material 混用;图标为 @Composable 属性,不能在 val、枚举参数或 remember 中求值;列表组件要求 kotlinx-collections-immutable 的 PersistentList,用 persistentListOf 构建;对话框为模态且由调用方控制,需在 if (showDialog) 下发出并传 onDismissRequest;交互目标至少 48dp;纯图标控件必须提供 contentDescription。
适用场景:Meta Horizon OS 上的 Android 应用界面开发、从 Spatial SDK UI Set 迁移。
限制:UISet 不扩展 Material,混用导入可编译但渲染无主题;组件通过 composition locals 读取主题,UiSetTheme 之外使用内置默认值,自定义不会生效。详细签名与 KDoc 可在 IDE 中查看,或通过 metavr docs api-search 查询。参考文件包括 components.md、theming.md、icons.md、integration.md、migration.md。