恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
使用 impeccable adapt 完成 iOS / Android 原生界面适配:从重排版到重塑体验的完整指南
首页
资讯中心
/
使用 impeccable adapt 完成 iOS / Android 原生界面适配:从重排版到重塑体验的完整指南
使用 impeccable adapt 完成 iOS / Android 原生界面适配:从重排版到重塑体验的完整指南
发布时间:2026/9/10 17:36:15
使用 impeccable adapt 完成 iOS / Android 原生界面适配从重排版到重塑体验的完整指南【免费下载链接】impeccableThe design language that makes your AI harness better at design.项目地址: https://gitcode.com/GitHub_Trending/im/impeccable本文导读impeccable adapt是 Impeccable 设计技能体系中负责跨上下文适配的命令而 skill/reference/adapt.native.md 是其针对原生平台的专项指南——当目标项目是 iOS、Android 或跨端adaptive应用时适配工作会自动路由到该文档。本文围绕这份原生适配指南展开覆盖先评估挑战、再选择策略、最后实现与验证的完整流程结合 iOS / Android 平台规范、命令路由机制与源码实现帮助你掌握如何把一个已有原生设计迁移到新设备类型、方向、平台或来源并最终通过impeccable polish收尾。读完你将能独立完成 Phone→Tablet、横竖屏、折叠屏、iOS↔Android 以及 Web→Native 四类典型适配并学会用平台验收标准检验成果。一、什么是原生适配核心是重想体验而不是缩放像素adapt命令在 Impeccable 的命令表中被定义为Adapt designs to work across different screen sizes, devices, contexts, or platforms. Implements breakpoints, fluid layouts, and touch targets.见 crates/context/src/command-metadata.json。而在 skill/SKILL.src.md 的命令路由表中adapt有一个明确的原生变体命令类别说明参考文档adapt [target]Fix为不同设备和屏幕尺寸做适配skill/reference/adapt.md · native: skill/reference/adapt.native.md路由规则是原生平台iOS / Android / adaptive走adapt.native.mdWeb 平台含移动端网页走adapt.md。这一路由在源码中也有印证——crates/context/src/context_cli.rs 中对平台值adaptive的解析会展开为[ios, android]两个平台参考。adapt.native.md开篇就点明了这门手艺的核心命题The trap is treating adaptation as scaling. The job is rethinking the experience for the new context.把适配当成缩放是最常见的陷阱。原生适配的真正工作是在目标平台约定iOS 的 HIG / Android 的 Material Design 3之内为新的上下文重新设计体验。文档同时给出了一条重要流程约定在开始规划之前如果 Setupimpeccable context尚未加载目标平台参考应当先阅读对应的 skill/reference/ios.md 或 skill/reference/android.md。原生适配与 Web 适配的分界Web 版指南 skill/reference/adapt.md 强调响应式断点、srcset、容器查询等 Web 手段而原生版完全不在这个轨道上——它不谈 CSS 媒体查询而是谈size classesiOS/ window size classesAndroid、安全区、系统导航与平台控件。这正是原生适配区别于响应式网页的根本结构切换由系统级尺寸类驱动而不是由像素断点驱动。二、评估适配挑战先回答三个问题adapt.native.md要求正式动手前完成一次结构化的挑战评估围绕三个维度源上下文Source context它原本为谁设计做了哪些假设——是仅手机仅竖屏单一平台的惯用表达还是一个网站目标上下文Target context目标设备类别手机、平板、折叠屏、方向、平台以及使用姿态——单手行走时使用还是双手稳定使用什么会坏What breaks装不进目标的导航只是拉伸而不是重构的布局在目标平台根本不存在的交互或控件如悬停、桌面级右键菜单这三个问题的答案直接决定后续策略的选择。一个典型的反面教材是把为竖屏手机设计的列表页直接横向拉伸到 iPad 上——布局没有坏在像素不够而是坏在结构没有为宽屏重新思考。三、适配策略四类典型场景的完整打法3.1 Phone → TabletiPad / 大屏重构不要拉伸这是原生适配中最常见、也最容易被做成失败模式的场景。核心原则只有一句Restructure, dont stretch.被放大过的手机 UI 铺在平板上是典型的 slop 产物。正确做法是用尺寸类切换结构iOS 用 size classesAndroid 用 window size classes而不是按设备型号写死分支。导航改变形态iPhone 的 Tab bar 在 iPad 上可以保留、也可以演变为侧边栏sidebarAndroid 的底部导航栏在展开宽度下应变成 navigation rail导航栏/抽屉。用足宽度分屏视图 / master-detail列表 详情并排、多列网格、弹窗popover取代手机上的 sheet。把多任务当成一种尺寸而不是边缘情况iPad Split View 与 Android 多窗口可能把平板塞成手机宽度——由尺寸类驱动的布局天然同时处理这两种情况不需要额外适配。3.2 方向Orientation与折叠屏横屏要重构而非裁切侧边并排的面板、重新布置的控件都是正当做法绝不裁剪内容也绝不 letterbox信箱式黑边。只有任务真正依赖特定方向时才锁定方向。Android 折叠屏通过 window size classes 响应姿态posture与铰链折叠态、展开态、桌面式tabletop三种形态都要测试。3.3 平台对平台iOS ↔ Android翻译惯用法而不是移植控件adapt.native.md给出了一张关键的惯用法对照表这是翻译而不是移植的依据iOSAndroidTab barNavigation bar / rail / drawer边缘滑动返回、返回箭头预测式返回手势Predictive Back/ 返回按钮Switch、分段控件segmented control、系统选择器Material switch、chips、Material 选择器Action sheetBottom sheet / Material dialogSF Symbols、SF Pro、Dynamic TypeMaterial Symbols、Roboto、sp 缩放语义化系统颜色、材质materialsMaterial 颜色角色color roles、色调高度tonal elevation系统 push/sheet 转场Container transform、shared-axis、fade-through做法是在目标平台的词汇表里重建导航和控件品牌的表现层调色板意图、字体强调、动效个性则通过目标平台的主题系统theming system承载过来。也就是说品牌要保留的是表达层而不是控件的形状。3.4 Web → Native移植网站 / Web 应用这一步的动作是Reconform, dont reflow重新对齐平台规范而不是单纯重排用平台的导航模型替换网页导航用平台控件替换 HTML 形状的控件用触摸优先的交互替换悬停型暗示用 Dynamic Type / sp 替换 px 字体。完成替换后把结果整体按目标平台的完整参考ios.md / android.md再过一遍——平台参考里的 slop test见下文第四节就是验收标准。四、承载品牌与验收基准平台参考中的 slop testadapt.native.md要求适配过程中遵守目标平台约定而这些约定的具体内容沉淀在 skill/reference/ios.md 与 skill/reference/android.md 两份平台参考中。每份参考都定义了各自的slop test劣质设计检测标准可作为适配验收的直接判据iOS slop test一个熟练的 iPhone 用户会信任这个 App还是在非规范控件前迟疑最常见的穿帮信号是从网站移植过来的痕迹——重新发明的导航栏、自定义返回手势、网页形状的按钮、依赖悬停的交互。默认使用平台组件除非有用户会感谢你的理由才偏离。Android slop test一个熟练的 Android 用户会信任这个 App还是被非规范组件绊倒最常见的穿帮是穿了 Android 皮肤的 iOS 应用——照搬 iPhone 的底部导航、无视系统 Back 手势的返回箭头、Cupertino 形状的开关和对话框。Material 3 是规则书通过它来承载品牌。两份参考还共同规定了一条对适配至关重要的规则原生平台上visitor mode访客模式会收窄可覆盖的表达范围——HIG / Material Design 3 在每种模式下都管理结构、导航与交互品牌只通过平台留下的开放层tint、字体、动效、内容 / 颜色角色、类型刻度、形状、动效表达。这也解释了为什么翻译惯用法比移植控件更符合平台语义。五、实现与验证从尺寸类到真机5.1 用尺寸类驱动结构永不按设备型号判断实现阶段的硬性约束adapt.native.md原文要点结构由 size classes / window size classes 驱动绝不使用设备型号检查device-model checks。判断是不是 iPad / 是不是折叠屏应当来自系统给出的尺寸环境而不是机型字符串。每种新配置都要尊重安全区与窗口 inset刘海notch、铰链hinge、状态栏、键盘都算。先模拟器求广度再真机求真相每个发布平台至少一台手机 一台平板双方向支持分屏的平台要测分屏。5.2 平台级验证命令来自平台参考iOS 侧 skill/reference/ios.md 的 Verifying the build 明确截图必须来自模拟器Simulator绝不能用浏览器# 在模拟器中构建运行后截图 xcrun simctl io booted screenshot path # 多台模拟器同时运行时用 UDID 替代 booteddisplay name 可能重名UDID 不会 xcrun simctl list devices booted # 深色模式验收 xcrun simctl ui booted appearance dark同时要求在验收中加入Dark Mode 与大号 Dynamic Type——一次大字号检查能暴露固定布局下被截断的文字并诚实标注证据来源模拟器给出广度姿态、手势、性能需要真机。Android 侧 skill/reference/android.md 则要求截图来自模拟器或连接的真机# 构建安装后截图 adb exec-out screencap -p path # 多设备时用 -s serial 指定目标 # 深色主题验收 adb shell cmd uimode night yes # 字体缩放验收1.3 倍结束后恢复 1.0 adb shell settings put system font_scale 1.3同样要求模拟器给广度姿态、刷新率、性能需要硬件。5.3 原生平台验证的深度要求原生适配的验证粒度比 Web 更高skill/reference/polish.md 在收尾阶段要求按平台参考的 Verifying the build 在模拟器/模拟器/硬件上覆盖发布的全部设备类别skill/reference/ios.md 还强调 iOS 上 Edge-swipe back 是肌肉记忆永远不要禁用或覆盖左缘返回手势Android 侧则要求System Back 始终可用尊重预测式返回手势与返回按钮并使用 window insets 处理状态栏、导航栏、显示开孔与 IME键盘inset。六、收尾交给impeccable polish当适配在每个上下文中都感觉原生之后adapt.native.md明确要求交给impeccable polish做最终一轮When the adaptation feels native to each context, hand off to{{command_prefix}}impeccable polishfor the final pass.polish是精修而非隐式重设计见 skill/reference/polish.md它保留既有视觉世界、内容与行为按流程与层级 → 布局与字体 → 色彩与图片图标 → 交互与状态 → 内容与代码的顺序修复漂移并以完整的路径走查原生平台上为手机/平板两种尺寸类、两种支持方向作为验收收尾。七、绝对红线NEVER 清单adapt.native.md在结尾给出了不可逾越的红线任何适配输出都必须逐条自检绝不在平板上发布被拉伸的手机布局Ship a stretched phone layout on a tablet绝不把某个平台的控件或导航移植到另一平台Port one platforms controls or navigation onto the other绝不在小屏设备上隐藏核心功能——如果它重要就让它工作Hide core functionality on smaller devices绝不为躲避布局 bug 而锁定方向Lock orientation to dodge a layout bug绝不只信模拟器——姿态、手势与性能需要真机Trust simulators alone。八、实战速查一条完整适配链路综合本指南一次规范的 native 适配在 Impeccable 中的完整链路是确认路由项目平台为ios/android/adaptivePRODUCT.md 的## Platform字段命令路由到 skill/reference/adapt.native.md若尚未加载目标平台参考先读 skill/reference/ios.md 或 skill/reference/android.md。评估挑战回答源上下文 / 目标上下文 / 什么会坏三问见第二节。选择策略按第四节的四类场景对号入座用平台惯用法对照表做翻译。实现由 size classes / window size classes 驱动结构尊重安全区与窗口 insets。验证模拟器/模拟器截图求广度iOS 用xcrun simctl、Android 用adb真机求真相深色模式与动态字号Dynamic Type / 字体缩放必须纳入验收。收尾交给impeccable polish做最终质量通过并以本节 NEVER 清单做终检。参考文档与源码延伸skill/reference/adapt.native.md本文主体、skill/reference/adapt.mdWeb 版适配对照、skill/reference/ios.md 与 skill/reference/android.md平台规范、skill/SKILL.src.md命令路由与 Setup 流程、crates/context/src/command-metadata.jsonadapt命令描述、crates/context/src/context_cli.rsadaptive平台解析为 iOS Android。【免费下载链接】impeccableThe design language that makes your AI harness better at design.项目地址: https://gitcode.com/GitHub_Trending/im/impeccable创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考