我对 flutter 相当陌生,正在尝试创建一个不遵循材料设计指南的应用程序(公司想要自己的设计)。
我似乎只能使用材料设计或库比蒂诺来创造东西。我不确定如何使用自定义脚手架或在小部件构建功能中
return new MaterialApp(...
,或AppBar
(如果可以平坦而不是有阴影)。
我希望这是有道理的。我只是想找到一种解决方法。
不使用Cupertino/Material设计也没有问题。 事实上,flutter 是根据定制品牌设计而设计的。它只是碰巧提供了材料设计作为奖励。
Flutter 提供了大量与设计无关的小部件,您可以使用它们来打造自定义外观。一些例子是:
您还可以使用下层
CustomPaint
或RenderBox
进行一些非常高级的渲染
您可以在此处获取可用内容的列表:https://docs.flutter.dev/flutter/widgets/widgets-library.html
Flutter 有一些流行语,例如“一切都是小部件!”。因此,您以及在 MaterialApp、CupertinoApp 等上面编写的所有内容都是小部件。另一个流行语是“你不必再对你的设计师说不”,这些大多是在告诉你你是自由的。
作为入口点,您有一个 main 方法,调用一个名为 runApp
的方法void main() => runApp(SomeWidget());
所以,如果你打开runApp的文档,你可以看到这样的语句
膨胀给定的小部件并将其附加到屏幕。小部件在布局期间受到限制,强制其填充整个屏幕。 ....
方法声明表明它需要一个小部件,如下所示
void runApp(Widget app)
。
实际上这些表明,即使您的应用程序也是一个小部件,您甚至可以在应用程序中运行应用程序。
总而言之,长话短说,这些类和您看到的所有内容都是开箱即用的辅助工具,您可以使用它们(并且大多数很容易修改)来获得看起来原生的东西以及也许您的设计师告诉您的漂亮东西使用。
但是使用 Flutter,你不仅仅局限于这些类,你可以按照你想要的方式(或你的设计师想要的)实现所有内容并简单地使用它,因为,归根结底,一切都是一个小部件:)