开发与工程 adaptive-uijetpack-composemulti-pane-layoutsmediaquerygrid-layoutnavigation-3

Android 自适应界面技能

让 Jetpack Compose 应用适配手机、平板、折叠屏、桌面等多种设备尺寸与输入方式。

FollowSkills 评估 · FSRS-2.0
谨慎使用
71/ 100 五分制 3.6 / 5
1 2 3 4 5 6
1信任安全20 / 25 · 4.0/5

技能未请求任何权限或执行敏感操作,仅提供代码修改指导。未发现恶意行为、数据泄露或破坏性默认值。依赖外部库(Compose 1.11.0-beta01、1.12.0-beta02)和网络资源(developer.android.com)但均在用户项目中,风险可控。发布者身份未经验证,但未构成负面证据。得分20:数据流透明,无过度权限,但用户确认机制不完整(如Step 4.2仅要求确认实验API使用,其他变更未显式要求确认)。

2可靠稳定12 / 20 · 3.0/5

指令内部一致,步骤清晰,但关键路径依赖实验性API(Grid、FlexBox),且引用的参考文档可能因版本差异不匹配。未提供测试套件或CI验证,静态阅读无法验证可复现性。错误反馈机制有限,部分步骤(如Graphical API变化)未提供失败时诊断指引。得分12:快乐路径可行,但测试、边界情况和错误处理薄。

3适用触发13 / 15 · 4.3/5

适用场景明确(Compose UI适配),受众为Android开发者。触发条件清晰(当需要使UI适配不同设备时)。环境适配方面,文档和目标平台面向全球开发者,但核心依赖developer.android.com,在中国大陆可能访问受限,且未提供替代方案。得分13:场景和边界清晰,但环境依赖未充分说明。

4规范维护14 / 15 · 4.7/5

文档结构良好,前置条件、步骤、示例、参考链接完备,许可明确(Apache-2.0),元数据包含作者、更新日期。版本信息部分明确(实验API),但缺乏变更日志和维护责任声明。得分14:信息架构完善,但版本治理和变更日志不完整。

5有效结果7 / 15 · 2.3/5

技能声称能指导使UI适配不同设备,步骤具体并可操作。但作为静态阅读,无法验证输出是否直接可用;部分步骤依赖用户手动验证(如截图测试),且未提供替代方案或成本效益分析。得分7:核心任务可完成,但输出完整性和直接可用性证据有限。

6证据核验5 / 10 · 2.5/5

技能内容主要基于Google官方文档,但未提供独立验证或第三方证据。引用路径存在,但无法确认其可达性。无测试或CI覆盖技能关键路径。得分5:有可审计的参考材料,但静态阅读无法复现,且覆盖不足。

证据充分度: 评估于 2026年8月7日 审查版本 28822b2306f3
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 技能引用的实验性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。

  1. 希望让现有 Compose 应用在平板模式显示列表-详情双栏布局的开发者。
  2. 需要将底部导航栏改为在平板上显示为侧边导航栏的应用团队。
  3. 希望根据屏幕宽度自动调整列表列数的开发者。
  4. 需要确保 UI 在手机、折叠屏和桌面端截图测试通过的开发人员。
  5. 希望实现隐藏应用栏以在滚动时提供更多内容的场景。

这个 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 更推荐。

常见问题

该技能是否支持非 Compose 项目?
不支持。技能明确要求应用必须使用 Compose,如果还在使用 Fragments 或 Views,需要先通过其他技能迁移。
使用 Grid API 需要什么 Compose 版本?
Grid 是实验性 API,需要 Compose 1.11.0-beta01 或更高版本,需确认你的项目可以接受实验性 API。
是否会自动更新截图测试参考图?
不会。技能要求运行截图测试但不要更新参考图,由用户查看差异后手动更新。
该技能是否包含维护责任?
技能由 Google 维护,但公共贡献不被接受,可以通过 GitHub issues 反馈问题。

同仓库的其他 Skills

均来自 android/skills

相关 Skills