场景自适应(AdaptiveExperience)使用指导

← 返回组件参考 · 全部使用指导

场景自适应(AdaptiveExperience)使用指导

场景自适应组件 - 鸿蒙场景感知助手,用于响应式布局、导航和流程设计。 鸿蒙独有组件,根据设备场景给出推荐列数、导航模式和场景档位。

运行前提与搭建步骤

这些案例在包含该组件的鸿蒙 AI 伴侣或 HAP 中运行。Android 侧是供网页编辑器生成积木的声明,不能用安卓伴侣验证鸿蒙系统能力。

  1. 在设计器拖入 AdaptiveExperience,保留名称 AdaptiveExperience1;拖入案例涉及的按钮、文本输入框以及一个标签 标签1,按代码中的名称重命名。
  2. 根据下面的业务说明准备素材、JSON 或系统目标。案例中的按钮代表分步操作,先等初始化、加载或创建成功,再执行下一步。
  3. 接住完成事件与错误事件,将原始 JSON 或错误显示在标签。先确认原始结果,再编写业务处理。

改变窗口大小后刷新场景,推荐值仅供布局决策;组件不会替你移动已有组件。

案例一:读取当前场景

各案例独立使用;组合到同一屏幕时,将同名事件的处理合并到一个事件积木中。

when Screen1.Initialize() {
  AdaptiveExperience1.RefreshScene()
  标签1.Text = AdaptiveExperience1.GetSceneJson()
}

案例二:选择响应式文字

when 按钮1.Click() {
  标签1.Text = AdaptiveExperience1.BuildResponsiveValue("手机单列", "中屏双列", "大屏多列")
}
when AdaptiveExperience1.SceneChanged(场景JSON) {
  标签1.Text = 场景JSON
}

参数与返回值速查

JSON 参数是文本,不能直接传字典;需要字典时可用 Web 客户端的 JSON 解码积木转换返回文本。完整默认值与类型见组件参考。

方法或事件 参数与用途
构建响应式值(紧凑值,中等值,展开值)(BuildResponsiveValue) 紧凑值:文本, 中等值:文本, 展开值:文本。根据场景档位,在 compact、medium、expanded 三组值中选择结果。
获取推荐列数(GetRecommendedColumns) 无参数。获取当前场景推荐的网格列数。
获取推荐导航(GetRecommendedNavigation) 无参数。获取当前场景推荐的导航模式。
获取场景JSON(GetSceneJson) 无参数。以 JSON 形式获取完整的当前场景快照。
获取场景档位(GetSceneProfile) 无参数。获取当前场景档位。
刷新场景(RefreshScene) 无参数。刷新当前场景快照,并在变化时触发 SceneChanged。
场景变化时(场景JSON)(SceneChanged) 场景JSON:文本。刷新后场景档位发生变化时触发。

常见问题与验收

现象 检查与预期
安卓运行没有结果 切换到鸿蒙伴侣或 HAP;Android 的声明不会执行该鸿蒙系统能力。
方法已调用但界面没变化 生成 JSON 的方法只是构建数据;按业务流程交给渲染、启动或同步入口,不能将数据生成当成系统操作完成。
初始化、权限或设备失败 记录错误事件,确认系统服务、授权、目标应用或设备可用;只在成功事件后继续下一步。
JSON 解析失败 使用上一组件的原始输出,检查引号和字段类型;空对象用于默认模板演示,不能代替真实目标信息。
两个案例验收 每个按钮单独操作一次,核对对应返回或事件;输入错误目标或取消操作时查看失败事件,不应显示成功提示。

完整 .aia 源码与操作指导

下载 .aia 源码

鸿蒙设备仪表盘:根据当前真实手机、横屏或大屏场景调整三张卡片高度,并展示推荐列数、导航和原始JSON。卡片文字仅是本地界面示例,没有连接传感器。Android接口为编辑器占位,APK编译通过不表示实现自适应。

导入 AdaptiveExperienceAllFeatures.aia,连接最新伴侣,或编译独立安装包。真机/伴侣运行尚未实测。

API / 功能 操作入口 预期结果
RefreshScene、GetSceneJson、SceneChanged 初始化、手动刷新、自动轮询后旋转或调整窗口 展示真实JSON;仅实际变化触发事件,相同场景不会伪造事件
SceneProfile、CurrentDeviceType、RecommendedColumns、RecommendedNavigation 场景/推荐区 属性读取实际设备档位与推荐值
GetSceneProfile、GetRecommendedColumns、GetRecommendedNavigation 同一区域的方法值 与当前实际快照对应;刷新时只读真实值
BuildResponsiveValue 三卡片真实高度和响应说明 compact高120、medium高160、expanded高200,选择根据真实设备场景
平台、空值与恢复 鸿蒙运行;Android运行;取消自动轮询再手动刷新 鸿蒙有效;Android为空时明确说明接口占位,不显示虚构场景

所有返回值均用于界面反馈,错误由底部错误区展示。设计器采用明确非默认配置,初始化与界面同步。API 覆盖检查按最终 AIA 检查方法、事件、属性读取与设置及设计器配置,不能替代真实设备验证。

设备场景自适应

导入方法:项目 → 导入项目(.aia)→ 选择下载的 .aia 源码文件。 鸿蒙设备仪表盘:根据当前真实手机、横屏或大屏场景调整三张卡片高度,并展示推荐列数、导航和原始JSON。卡片文字仅是本地界面示例,没有连接传感器。Android接口为编辑器占位,APK编译通过不表示实现自适应。 覆盖检查 11/11。首次载入及保存重开均0个错误,真实后台导入、安装包编译通过;真机/伴侣/硬件联调尚未实测。全部属性读写、方法与事件的操作入口和预期结果见组件指导。

文档反馈