3

我有一个需要使用标签导航的问题。当前的材料脚手架只有 1 个堆栈。因此,如果我需要深入几个级别(子页面),那么我会丢失选项卡上下文。Cupertino 脚手架允许我深入几个层次,但仍保持根选项卡。

如果我换成 Cupertino 脚手架,我需要写两套代码吗?适用于 iOS 的 Cupertino 和适用于 Android 的 Material 还是转换为 Flutter 原生代码?

4

4 回答 4

7

Google Codelab上有警告

从技术上讲,您可以在 Android 或 iOS 上运行 Cupertino 应用程序,但是 (由于许可问题)Cupertino 在 Android 上不会有正确的字体。因此,在编写 Cupertino 应用程序时,请使用 iOS 特定设备。

于 2019-08-27T11:29:05.103 回答
5

不,你不需要写两次。Cupertino 小部件在 android 上运行良好。

于 2019-06-02T17:13:41.957 回答
0

Cupertino 小部件和 Material 小部件都是使用相同的底层框架构建的。Flutter 更像是一个游戏框架,它使用 Skia 引擎构建所有 UI。这意味着 Flutter 中构建的每个小部件在支持 Flutter 的每个平台(最终也包括桌面、Web 和嵌入式系统)上都将工作/看起来相同。这就是 Flutter 与像 React Native 这样使用桥接创建实际原生组件的东西相比如此独特的原因。

于 2019-06-02T17:19:22.107 回答
0

好吧,在功能方面它会起作用。正如您在此处看到的,代码是使用CupertinoScaffold作为根小部件编写的,并且在Android上运行的应用程序的主题就像 iOS 应用程序一样。所做的只是管理屏幕上事物的组织方式和一些内部功能,因此无论Scaffold您使用 iOS 主题还是 Android 主题,这完全取决于您。

现在从 UI 的角度来看,如果您将类似 iOS 的应用程序渲染到 Android 应用程序,那么您的 Android 用户可能会感到慌乱,因为该平台的外观和感觉不是本机的。

于 2019-06-02T17:20:08.737 回答