做折叠屏适配的 Flutter 开发者,最近大概都遇到过同一个尴尬:同一套代码,在 Android 折叠机上跑得好好的,换到 iOS 端就得自己想办法。

这种割裂不是错觉。Flutter 官方 SDK 对两端折叠屏的支持进度,本来就不在一条线上。

Android 端:官方已经把活干完了

Flutter 官方 SDK 已经为 Android 内置了折叠区域和姿态支持。开发者不需要额外引入什么库,直接调用相关 API 就能拿到折叠状态,做自适应布局。

换句话说,在 Android 这一侧,折叠屏适配是"开箱可用"的能力,属于官方维护的范围。

iOS 端:官方还在推进,社区先顶上

iOS 端的情况不一样。折叠屏数据的接入仍在推进中,官方 SDK 暂时没有把这块补齐。

缺口由社区填。社区的 foldable 插件补充了 iOS 端的相关能力,提供实时铰链角度等信息,让开发者能据此实现自适应布局和折叠交互。

插件覆盖的设备里,包括 iPhone Duo 这类形态。铰链角度这个数据点很关键——它决定了界面该以什么姿态响应,是半折、全开还是闭合。

两套路径,一个现实

把两端放在一起看,逻辑很清楚:

  • Android:官方 SDK 内置折叠区域与姿态支持,开发者直接可用
  • iOS:官方数据接入推进中,需借助社区 foldable 插件获取铰链角度等关键数据

对开发者来说,这意味着折叠屏适配在 Flutter 里不是一套统一方案,而是分端处理。Android 端跟着官方文档走就行,iOS 端则要多接一层社区依赖。

社区插件能补位,说明需求真实存在。但插件终究是插件,维护节奏、设备覆盖、API 稳定性,都得开发者自己掂量。

折叠屏的形态还在变,适配这件事短期内大概都会维持这种"官方管一半、社区管一半"的状态。