如何在HarmonyOS中通过给定Context和布局资源ID加载布局?
HarmonyOS 布局加载对应实现方案
Java API(与Android Java开发习惯对齐)
HarmonyOS 中提供了LayoutScatter类,功能完全对标Android的LayoutInflater,你可以直接替换原有逻辑:
// 加载布局并挂载到当前容器 LayoutScatter.getInstance(context) .parse(layoutRes, this, true);
- 需提前导入依赖包:
import ohos.agp.components.LayoutScatter; - 三个参数的含义和Android
inflate方法完全一致:布局资源ID、目标父容器、是否自动挂载到父容器 - 布局文件需放置在项目
resources/base/layout目录下,编译后会自动生成对应的int类型资源ID
ArkTS API(Stage模型主流开发方案)
如果是基于ArkTS开发的HarmonyOS库,可以使用xml模块的加载接口实现同等效果:
// context 为 UIAbilityContext 或 ComponentContext 实例 const layoutComponent = xml.createComponentFromXml(context, layoutRes, this);
内容的提问来源于stack exchange,提问作者Chirag Bhatt
相关产品推荐
相关产品推荐

