Flutter 需要给 Android 和 iOS 各写一份 UI 吗

3 min read

因为 MaterialApp 是 Material Design 的,适用于 Android ,那有的同学可能有疑问,如果使用 MaterialApp,是不是就只能在 Android 上使用,iOS 上就不能使用,所以要写两份代码吗?

当然不是这样子:

  1. 因为在实际开发过程中,大部分都是一份设计图,所以所以只需要按照设计图开发就行了。这种情况,只需要写一份代码就 OK,而且推荐选择 Material Design 的,因为目前来说 Flutter 对 Material Design 的 Widget 支持的更多,Cupertino 的 Widget 比较少,而且即使选了 Material Design ,你还是可以按照设计稿去写 UI,同时一部分 Cupertino 风格的 Widget 也能 在 Material Design 里使用。

  2. 如果你们的 APP 确实有两份设计图,一份 Material Design 的,一份 Cupertino 的,那也没有关系,因为可以在 Widget 里通过 if-else 返回不同的 Widget。