基础布局组件(Layout Widgets)

  • Row / Column: 水平或垂直排列子组件。通过 mainAxisAlignmentcrossAxisAlignment 控制对齐。

  • Stack: 允许子组件重叠排列,类似 FrameLayout。通常配合 Positioned 来精准定位。

  • Container: 最强大的万能组件。集成了尺寸(width/height)、边距(padding/margin)、背景装饰(decoration)和对齐(alignment)。

  • Flex / Expanded: 用于弹性布局,让子组件按比例占据剩余空间。

视觉与交互基础组件

  • Text: 显示文本。通过 TextStyle 控制字体、大小、颜色等。

  • Image: 支持网络(Image.network)、本地资源(Image.asset)和内存图片。

  • Icon: 展示矢量图标,通常配合内置的 Icons 库使用。

  • ElevatedButton / TextButton / OutlinedButton: 各种风格的按钮。

  • TextField: 输入框,配合 TextEditingController 获取输入内容。

滚动组件(Scrolling Widgets)

处理长列表或超出屏幕的内容。

  • ListView: 最常用的列表组件。推荐使用 ListView.builder 来实现类似 RecyclerView 的懒加载效果。

  • GridView: 网格布局。

  • SingleChildScrollView: 当单个页面内容稍微超出屏幕时,用它包裹以支持滚动。

  • CustomScrollView / Sliver: 用于实现复杂的联动滚动效果(如吸顶标题)。

样式与功能辅助(Material / Cupertino)

Flutter 提供了两套风格的组件库,你可以根据目标平台选择:

  • Material (Android 风格):Scaffold(提供页面基本结构,含 AppBar、Body、FloatingActionButton)、CardDrawer

  • Cupertino (iOS 风格):CupertinoNavigationBarCupertinoButtonCupertinoActionSheet

手势与功能组件(Function Widgets)

这些组件通常没有视觉表现,但赋予了 UI 生命力。

  • GestureDetector: 监听点击、长按、缩放、拖动等所有原生手势。

  • InkWell: 带有“水波纹”点击反馈效果的 GestureDetector。

  • Padding / Align / Center: 专门用于处理间距、对齐的轻量级组件。

功能布局类组件(Functional Layout Widgets)

  • SafeArea

动画

  • AnimatedContainer

其它

  • PageView