库比蒂诺小部件会在 android 上运行吗

Will Cupertino widgets works on android

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

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

没有。你不需要写两次。 Cupertino 小部件在 android 上完全可以正常工作。

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

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

现在从 UI 的角度来看,如果您将 iOS 类应用渲染到 Android 应用,那么您的 Android 用户可能会因为外观和感觉而感到困惑不是平台原生的。

Google Codelab

上有一个警告

You can technically run a Cupertino app on either Android or iOS, but (due to licensing issues) Cupertino won't have the correct fonts on Android. For this reason, use an iOS-specific device when writing a Cupertino app.