一个 Flutter app 本身就是一个 widget,大多数 widgets 都有一个 build()
方法,在 app 的 build()
方法中实例化和返回一个 widget 会让它显示出来。
对于 Material
app,你可以使用 Scaffold
widget,它提供默认的 banner 背景颜色,还有用于添加抽屉、提示条和底部列表弹窗的 API。你可以将 Center
widget 直接添加到主页 body
的属性中。
通用布局 widgets
Flutter 有一个丰富的布局 widget 仓库,里面有很多经常会用到的布局 widget。目的是为了让你更快的上手,而不是被一个完整的列表吓跑。关于其他有用的 widget 的信息,可以参考 Widget 目录,或者使用 API 参考文档 中的搜索框。而且,API 文档中的 widget 页面中经常会给出一些关于相似的 widget 哪个会更适合你的建议。
下面的 widget 会分为两类:widgets 库 中的标准 widgets 和 Material 库 中的 widgets。任何 app 都可以使用 widget 库,但是 Material 库中的组件只能在 Material app 中使用。
标准 widgets
-
Container
:向 widget 增加 padding、margins、borders、background color 或者其他的“装饰”。 -
GridView
:将 widget 展示为一个可滚动的网格。 -
ListView
:将 widget 展示为一个可滚动的列表。 -
Stack
:将 widget 覆盖在另一个的上面。
Material widgets
-
Card
:将相关信息整理到一个有圆角和阴影的盒子中。