一、背景描述

为了提高开发效率,并逐步接轨KMP(Kotlin Multiplatfrom)跨平台,决定逐步向Compose靠拢,对于新开发的功能模块使用Jetpack Compose进行开发,然后以单独模块的形式嵌入主项目。

对于Jetpack Compose开发不在这里展开,本文重点分享如何把Compose开发完成的代码嵌入传统View的布局中运行。

二、操作步骤

2.1 独立功能组件

主项目所有代码在app中,采用kotlin传统View模式进行开发。而gapp-quotation模块采用Jetpack Compose开发。其中,data包中包含api请求、bean、viewmodel和常量,ui包中包含Compose和公用的Compose widget,utils中为常用工具类和扩展方法,Activity为启动独立模块的入口,QuotationMainFragment为Compose嵌入Fragment布局的部分。

2.2 Jetpack Compose部分

这里包含所有独立模块的Compose,其中QuotationMainView是主界面入口,我们只需要把此入口嵌入fragment中即可。

主入口只有一个QuotationMain函数,嵌入时引入fragment中即可。

2.3 嵌入过程

嵌入主要在fragment的onCreateView方法中把Compose转换成View进行返回即可。

如上图,使用ComposeView进行转换,调用内部setContent进行Compose的引入,这里把QuotationMain写到setContent根节点即可,如此即可把Compose转换成View嵌入传统View界面中了。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐