Veggie Seasons 自适应

此演示应用是关于在 Flutter 开发环境中,将 Material Design 3 适配给 iOS 受众的实验。其目标是在尽可能重用 Android 和 iOS 代码的前提下,实现平台适宜的外观和感觉。

该应用是将 Flutter 的 Cupertino 库 构建的仅限 iOS 的应用 Veggie Seasons,移植到 Material Design 3 (M3)。原始应用中的某些部分,例如状态管理和数据持久化,由于在此 UI 探索中不需要,因此并未实现。

screenshots of Veggie Seasons in Material Design 3 and in its original iOS style

左:Material Design 3 中的 Veggie Seasons 自适应。右:iOS 风格的原始 Veggie Seasons 应用。

运行具有特定自适应级别的应用

您可以通过 adaptation_settings.dart 文件中的 iOSAdaptation 变量,以三种不同的 iOS 自适应级别运行此应用。当您以 AdaptationLevel.none(默认值)运行该应用时,它将采用完整的 Material Design 3 UI,没有任何针对 iOS 用户的定制。

minimalmore 级别根据 Apple 的 人机界面指南 提供越来越多的自适应。这两个级别都通过本次实验定义和实现(请参阅 #6#7)。

enum AdaptationLevel {
  none, // m3 default
  minimal,
  more,
}

var iOSAdaptation = AdaptationLevel.none;

参与讨论

如果您熟悉 iOS UI 设计模式,请在讨论区和 issue 跟踪器中分享您对 Material 到 iOS 适配的看法。欢迎 fork 此仓库,尝试您自己的跨平台适配,并在讨论区分享您的方法。

GitHub

查看 Github