Android 自适应界面技能
让 Jetpack Compose 应用适配手机、平板、折叠屏、桌面等多种设备尺寸与输入方式。
技能未请求任何权限或执行敏感操作,仅提供代码修改指导。未发现恶意行为、数据泄露或破坏性默认值。依赖外部库(Compose 1.11.0-beta01、1.12.0-beta02)和网络资源(developer.android.com)但均在用户项目中,风险可控。发布者身份未经验证,但未构成负面证据。得分20:数据流透明,无过度权限,但用户确认机制不完整(如Step 4.2仅要求确认实验API使用,其他变更未显式要求确认)。
指令内部一致,步骤清晰,但关键路径依赖实验性API(Grid、FlexBox),且引用的参考文档可能因版本差异不匹配。未提供测试套件或CI验证,静态阅读无法验证可复现性。错误反馈机制有限,部分步骤(如Graphical API变化)未提供失败时诊断指引。得分12:快乐路径可行,但测试、边界情况和错误处理薄。
适用场景明确(Compose UI适配),受众为Android开发者。触发条件清晰(当需要使UI适配不同设备时)。环境适配方面,文档和目标平台面向全球开发者,但核心依赖developer.android.com,在中国大陆可能访问受限,且未提供替代方案。得分13:场景和边界清晰,但环境依赖未充分说明。
文档结构良好,前置条件、步骤、示例、参考链接完备,许可明确(Apache-2.0),元数据包含作者、更新日期。版本信息部分明确(实验API),但缺乏变更日志和维护责任声明。得分14:信息架构完善,但版本治理和变更日志不完整。
技能声称能指导使UI适配不同设备,步骤具体并可操作。但作为静态阅读,无法验证输出是否直接可用;部分步骤依赖用户手动验证(如截图测试),且未提供替代方案或成本效益分析。得分7:核心任务可完成,但输出完整性和直接可用性证据有限。
技能内容主要基于Google官方文档,但未提供独立验证或第三方证据。引用路径存在,但无法确认其可达性。无测试或CI覆盖技能关键路径。得分5:有可审计的参考材料,但静态阅读无法复现,且覆盖不足。
- 技能引用的实验性API(Grid、FlexBox)可能变化,且需使用Compose 1.12.0-beta02,用户需确认版本兼容性。
- 核心文档托管在developer.android.com,在中国大陆可能访问不稳定,建议提前准备替代方案。
- 技能要求Jetpack Navigation 3和Compose,若项目未使用,需先迁移,增加了实施成本。
- 部分步骤(如截图测试)需要用户手动验证,不能自动完成,需注意。
这个 Skill 能做什么,适合哪些场景?
该技能提供一套分步指南,帮助开发者将 Jetpack Compose 应用改造成自适应界面,覆盖不同窗口尺寸、鼠标和键盘输入,以及多窗格布局。技能基于 Navigation 3 场景实现列表-详情页和支持面板,并指导使用 Compose 的 Grid、FlexBox 和 MediaQuery 等 API 优化导航栏和列表布局。技能还包含性能建议,如隐藏应用栏以节省空间,并通过截图测试验证适配效果。
该技能检查现有 Compose 代码库,提供具体步骤:将底部导航栏替换为 NavigationSuiteScaffold 以支持不同设备形态;使用 Navigation 3 的 ListDetailSceneStrategy 和 SupportingPaneSceneStrategy 创建多窗格布局;将 LazyColumn 等列表改用 LazyVerticalGrid 或 Grid API 实现自适应列数;利用 MediaQuery 查询设备能力;运行截图测试来验证 UI 在不同设备上的表现。技能要求应用已使用 Compose 和 Jetpack Navigation 3。
- 希望让现有 Compose 应用在平板模式显示列表-详情双栏布局的开发者。
- 需要将底部导航栏改为在平板上显示为侧边导航栏的应用团队。
- 希望根据屏幕宽度自动调整列表列数的开发者。
- 需要确保 UI 在手机、折叠屏和桌面端截图测试通过的开发人员。
- 希望实现隐藏应用栏以在滚动时提供更多内容的场景。
这个 Skill 有哪些优点和局限?
- 提供清晰的步骤验证当前 UI 并添加截图测试。
- 明确指定使用 Navigation 3 场景策略,避免过时方案。
- 涵盖多种自适应 API(Grid、FlexBox、MediaQuery),并提供官方文档链接。
- 包含代码示例,易于复制。
- 注重可维护性(如不能显示返回箭头、控制导航栏可见性)。
- 要求应用已完全使用 Compose 并迁移至 Navigation 3,对旧项目门槛高。
- 部分 API 为实验性(如 Grid 从 Compose 1.11.0-beta01 开始),需用户接受。
- 未提供自动化测试脚本,仅依赖截图测试和用户验证。
- 对于内容适合全屏展示的详情页,技能明确建议避免列表-详情模式。
如何安装这个 Skill?
该技能包含在 Android skills 仓库中,可使用 Android CLI 安装:运行 android skills add --skill=adaptive --project=.(在当前目录安装该技能)或 android skills add --all(安装所有技能)。安装后 SKILL.md 位于 jetpack-compose/adaptive/ 目录。
如何使用这个 Skill?
在支持技能调用的 AI 助手(如 Gemini、Antigravity)中触发:例如『帮我让这个应用适配平板』。AI 会读取 SKILL.md 的指引,分析你的 Compose 代码,并逐步应用导航、多窗格、列表和滚动行为的修改。
这个 Skill 与同类方案有什么区别?
与直接手动编写自适应布局相比,该技能提供了标准化的迁移流程,并利用 Navigation 3 和 Material3 组件,比传统使用 ListDetailPaneScaffold 更推荐。