基础布局组件(Layout Widgets)
Row / Column: 水平或垂直排列子组件。通过
mainAxisAlignment和crossAxisAlignment控制对齐。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)、Card、Drawer。Cupertino (iOS 风格): 如
CupertinoNavigationBar、CupertinoButton、CupertinoActionSheet。
手势与功能组件(Function Widgets)
这些组件通常没有视觉表现,但赋予了 UI 生命力。
GestureDetector: 监听点击、长按、缩放、拖动等所有原生手势。
InkWell: 带有“水波纹”点击反馈效果的 GestureDetector。
Padding / Align / Center: 专门用于处理间距、对齐的轻量级组件。
功能布局类组件(Functional Layout Widgets)
SafeArea
动画
AnimatedContainer
其它
PageView
Flutter 基础组件
https://lautung.com/archives/Lygo3Pf0