- Skill 名称:xml-to-compose
- 简称:XML转Compose转换器
- 来源:社区第三方(开发者 singhsume123)
- 运行宿主:Claude-Code CLI
- 核心定位:将Android XML布局文件自动转换为Jetpack Compose代码,适用于Android应用从传统View系统向现代声明式UI的迁移场景。
🧩 内部核心组成
该Skill通过智能解析和映射机制实现XML到Compose的转换:
核心转换能力
- 布局映射系统:识别XML根布局并映射到对应Compose容器
- 组件转换引擎:将XML视图组件转换为等效Compose组件
- 属性处理模块:XML属性到Modifier链的有序转换
- 资源引用处理:支持@string、@dimen、@color等资源引用转换
转换映射表(精简)
| 源XML组件 | 目标Compose组件 |
|---|---|
| LinearLayout (vertical) | Column |
| LinearLayout (horizontal) | Row |
| FrameLayout | Box |
| TextView | Text |
| EditText | TextField/OutlinedTextField |
| Button | Button |
| ImageView | Image/AsyncImage |
目录结构
references/layouts.md- 布局容器映射参考references/widgets.md- UI组件映射参考references/attributes.md- 属性到Modifier映射参考
🛠 安装与启用方式
安装命令:
skills install --user singhsume123/xml-to-compose-skill
前置要求:
- 已安装Claude-Code CLI环境
- Android开发基础知识
- Jetpack Compose基础理解
启用方式:安装后即可在Claude-Code CLI中通过自然语言指令触发转换功能。
📋 标准工作流
- 用户输入:提供XML布局文件或描述转换需求
- 结构分析:Skill解析XML层级结构,识别根布局类型
- 组件映射:逐层遍历XML节点,映射到对应Compose组件
- 属性转换:将XML属性转换为Compose Modifier链(遵循特定顺序)
- 资源处理:转换资源引用为Compose资源函数调用
- 代码生成:输出符合Compose最佳实践的Kotlin代码
- 预览添加:自动生成@Preview函数便于即时预览
典型输出包括:主Composable函数、状态管理参数、预览函数、资源引用处理。
⚠️ 关键限制、缺陷、注意事项
技术限制
- 平台限制:仅支持Android XML布局转换,不支持iOS或其他平台
- 复杂布局:对ConstraintLayout等复杂布局的转换可能需手动调整
- 自定义视图:无法自动转换自定义View组件,需要手动实现
使用限制
- Token消耗:大尺寸XML文件转换可能消耗较多token
- 兼容性:生成的代码基于Material 3,需确保项目支持
- 状态管理:需要手动添加状态管理逻辑(如ViewModel集成)
生产环境适用性
- 适合作为迁移辅助工具,但需人工审查和优化
- 不适合直接用于生产环境,必须经过测试和重构
✅ 适用场景 & ❌ 不适合场景
✅ 适用场景
- 遗留项目迁移:将传统XML布局的Android应用迁移到Compose
- 学习辅助:帮助开发者理解XML与Compose的对应关系
- 快速原型:快速将设计稿XML转换为可运行的Compose代码
- 增量迁移:大型项目中部分模块的逐步迁移
❌ 不适合场景
- 全新项目开发:直接使用Compose编写更高效
- 复杂动画需求:需要手动实现复杂动画和交互逻辑
- 性能关键场景:自动生成的代码可能需要性能优化
- 高度定制UI:自定义设计系统需要手动实现组件
如何安装
skills install --user singhsume123/xml-to-compose-skill通用安装教程:在哪里输入上面的命令
上面的命令本质是在「终端 / 命令行」中调用技能管理器,把该 Skill 下载并注册到你的 AI 工具。各主流工具打开终端的位置不同,按下面操作即可:
- 打开工具自带的终端面板,或系统终端(macOS「终端」、Windows「PowerShell」、Linux「Terminal」)。
- 把上面的安装命令复制进去,回车运行,等待下载与注册完成。
- 重启或重新加载 AI 工具,让新安装的 Skill 被识别。
- 新建对话并触发:直接描述用途,或通过该工具的技能 / 斜杠菜单选中此 Skill。
Claude 桌面版(macOS / Windows)
桌面版没有内置命令行,Skill 需通过 Claude Code CLI 安装。打开系统终端,先执行 npm install -g @anthropic-ai/claude-code,再运行上面的安装命令;完成后完全退出并重新打开 Claude。
Claude Code(终端 CLI)
直接在项目目录的终端里运行上面的命令即可。也可先输入 claude 启动交互界面,再在对话中引用该 Skill(/ 斜杠菜单或直接描述用途)。
VS Code(含 GitHub Copilot)
打开终端面板:菜单「终端 → 新建终端」,或快捷键 Ctrl+`(macOS 为 ⌃+`)。在终端里运行上面的命令;装完后执行「重新加载窗口」(Ctrl+Shift+P → Reload Window),让 Copilot 等扩展识别新技能。
Cursor
底部「终端」面板(Ctrl+`)即是内置终端。粘贴运行上面的命令,完成后在命令面板执行「Reload Window」刷新,再开始对话。
Windsurf
底部「终端」面板运行命令;也可直接使用其内置 Agent 终端,在对话侧执行安装。
其他工具(ChatGPT、本地脚本等)
不支持本地终端的产品,可先在本机终端完成安装,再在对话中描述该 Skill 的能力让其调用;不同工具的命令格式请以其官方文档为准。
风险提示
自动扫描未发现高危命令、隐私抓取或数据外传行为。仍建议安装前快速浏览仓库代码。
Aitishiku.com