Flutter已经为Material Design和Cupertino提供了专门针对Android和iOS设计的库。
我的问题是,为了在不同平台上实现手机原生外观,最好的方法是什么?
我想可能有一些原则可以遵循
-
分别使用Material Design和Cupertino库(例如TextButton, Scaffold和CupertinoButton, android和iOS的CupertinoTabScaffold)。
-
使用平台特定的小部件,例如https://pub.dev/packages/flutter_platform_widgets
似乎iOS平台的小部件目前与给定的小部件(组件)相比是有限的,例如,没有iOS购物车实现。或者没有找到像那样的下拉下拉https://developer.apple.com/forums/thread/691248
这里不是定时器选择器样式https://api.flutter.dev/flutter/cupertino/CupertinoDatePicker-class.html
这是基于意见的。最有效的方法取决于你的应用看起来是什么样子,你需要使用哪些组件,以及它看起来有多原生。我的意思是,即使没有典型的"原生"元素,也可以编写原生应用。组件的外观和感觉
是好是坏,取决于你的偏好和你的价值…Flutter不会转换成本地组件,而是处理每个像素本身的渲染。这意味着为了使用"原生组件",这些组件必须由Flutter或包(或您自己)实现并可用。所以总会有,或者至少总会有这样一种风险,即在每个原生平台上都有可用的组件,而这些组件在Flutter中(还)不可用。