用途:把 Android XML 布局系统化地转换为符合习惯的 Jetpack Compose,在保留原有功能的同时采用 Compose 模式。
主要能力:提供五步工作流(分析 XML 布局、规划迁移、转换布局、迁移状态、测试验证),并给出容器布局、常用控件与 XML 属性的映射对照,例如 LinearLayout→Column/Row、RecyclerView→LazyColumn、TextView→Text、layout_weight→Modifier.weight(1f)、visibility=gone→条件组合等。还包含 RecyclerView 到 LazyColumn、LiveData 到 StateFlow、ViewBinding 点击监听器到 lambda 的常见迁移代码模式,以及用 ComposeView 做增量迁移的方法。
使用方式:先识别根布局类型、控件与数据绑定引用、自定义 View 及 include/merge/ViewStub 用法;再决定完全重写或增量迁移,梳理状态来源与可复用组件;然后按映射表逐项转换;状态部分将 LiveData 转为 StateFlow 并用 collectAsStateWithLifecycle(),把 findViewById/ViewBinding 引用替换为 Compose 状态;最后对比视觉输出、测试无障碍并验证配置变更下的状态保持(必要时用 rememberSaveable)。
适用场景:Android 项目从 XML 视图体系迁移到 Compose,尤其适合 RecyclerView 列表、含 ViewModel 状态的界面以及需要按屏幕逐步迁移的大型应用。
限制:资料未提供适用版本、依赖版本、性能与效果数据、收费信息;映射为常见对应关系,自定义 View 等特殊情况需额外处理;增量迁移时在 Fragment 中应设置 ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed 以避免状态泄漏。