返回

Flutter组件使用指南:179个组件详细介绍,助您打造出色应用

Android

引言

Flutter 是一个开源的移动应用开发框架,以其跨平台和高效的开发体验而闻名。它提供了一系列组件,使开发者能够快速构建精美且响应迅速的移动应用。本文将详细介绍 179 个 Flutter 组件的使用,并提供初学者建议,帮助您少走弯路。

组件列表

以下是按字母顺序排列的 179 个 Flutter 组件:

  • Align
  • AnimatedBuilder
  • AnimatedContainer
  • AnimatedCrossFade
  • AnimatedDefaultTextStyle
  • AnimatedList
  • AnimatedOpacity
  • AnimatedPadding
  • AnimatedPhysicalModel
  • AnimatedPositioned
  • AnimatedSize
  • AnimatedSwitcher
  • AnimatedTheme
  • AppBar
  • AspectRatio
  • Autocomplete
  • Banner
  • Baseline
  • BottomAppBar
  • BottomNavigationBar
  • BottomSheet
  • Brightness
  • ButtonBar
  • ButtonTheme
  • Card
  • Checkbox
  • CheckboxListTile
  • CircularProgressIndicator
  • ClipOval
  • ClipPath
  • ClipRect
  • Clipboard
  • Column
  • Container
  • ContainerBox
  • ContainerShape
  • ContainerTransform
  • CupertinoActivityIndicator
  • CupertinoAlertDialog
  • CupertinoButton
  • CupertinoContextMenu
  • CupertinoDatePicker
  • CupertinoDialogAction
  • CupertinoFullscreenDialogTransition
  • CupertinoPageScaffold
  • CupertinoPicker
  • CupertinoPopupSurface
  • CupertinoRefreshControl
  • CupertinoSegmentedControl
  • CupertinoSlider
  • CupertinoSwitch
  • CupertinoTabBar
  • CupertinoTabScaffold
  • CupertinoTextField
  • CupertinoTimerPicker
  • CustomPaint
  • CustomScrollView
  • DataPicker
  • DataPickerTheme
  • DataTable
  • DataTableRow
  • DataView
  • DefaultTextStyle
  • Dialog
  • Divider
  • DropdownButton
  • DropdownMenuItem
  • EditableText
  • ElevatedButton
  • ElevationOverlay
  • Expanded
  • FadeInImage
  • FittedBox
  • FloatingActionButton
  • FloatingActionButtonLocation
  • Flow
  • Flexible
  • FractionalTranslation
  • FractionallySizedBox
  • GestureDetector
  • GridPaper
  • GridView
  • Hero
  • Highlight
  • HorizontalDivider
  • IconButton
  • Image
  • ImageFilter
  • IndexedStack
  • Ink
  • InkResponse
  • InkWell
  • InputDatePickerFormField
  • InputDecoration
  • InputDecorator
  • InputTimePickerFormField
  • InteractiveViewer
  • KeyboardListener
  • KeyedSubtree
  • LayoutBuilder
  • ListTile
  • ListWheelScrollView
  • LongPressDraggable
  • ListView
  • ListView.builder
  • ListView.custom
  • ListView.separated
  • MaterialApp
  • MediaButton
  • MaterialPageRoute
  • MaterialTapTargetSize
  • MergeSemantics
  • MouseRegion
  • Navigator
  • NavigatorKey
  • NavigationRail
  • NavigationRailDestination
  • NavigatorState
  • NavigatorObserver
  • Offstage
  • Opacity
  • OverflowBox
  • PageRouteBuilder
  • PageView
  • PageViewTransitionBuilder
  • Padding
  • PagerIndicator
  • PanResponder
  • PhysicalModel
  • PopupMenuButton
  • PopupMenuItem
  • PreferredSizeWidget
  • ProgressIndicator
  • Radio
  • RadioListTile
  • Radius
  • RaisedButton
  • RawGestureDetector
  • RawImage
  • Rect
  • RefreshIndicator
  • ReorderableListView
  • RichText
  • Row
  • SafeArea
  • Scaffold
  • ScaffoldMessenger
  • ScaffoldState
  • ScaleTransition
  • Scrollbar
  • ScrollConfiguration
  • ScrollController
  • ScrollNotification
  • ScrollPhysics
  • ScrollPosition
  • ScrollPositionWithSingleContext
  • ScrollbarThemeData
  • Scrollable
  • ScrollView
  • SelectionArea
  • Semantics
  • SeparatedColumn
  • SeparatedRow
  • ShaderMask
  • ShapeBorder
  • SingleChildScrollView
  • SingleTickerProviderStateMixin
  • SizeTransition
  • Slider
  • SliverAppBar
  • SliverChildBuilderDelegate
  • SliverChildDelegate
  • SliverChildListDelegate
  • SliverConstraints
  • SliverFillRemaining
  • SliverFillViewport
  • SliverFixedExtentList
  • SliverGrid
  • SliverGridDelegateWithFixedCrossAxisCount
  • SliverGridDelegateWithMaxCrossAxisExtent
  • SliverList
  • SliverMultiBoxAdaptorElement
  • SliverPersistentHeader
  • SliverSafeArea
  • SliverScrollbar
  • SliverToBoxAdapter
  • SnackBar
  • SnackBarAction
  • Spacer
  • SplashFactory
  • SpreadOperator
  • Stack
  • StatefulBuilder
  • Step
  • Stepper
  • Switch
  • Tab
  • TabBar
  • TabBarView
  • Table
  • TableBody
  • TableCell
  • TableColumn
  • TableRow
  • TabController
  • Text
  • TextButton
  • TextField
  • TextFormField
  • TextPainter
  • TextSelection
  • TextSpan
  • Theme
  • ThemeData
  • ThemeMode
  • TimePicker
  • TimePickerTheme
  • TimeOfDay
  • ToggleButtons
  • Toolbar
  • Tooltip
  • Transform
  • Transform.rotate
  • Transform.scale
  • Transform.translate
  • TweenAnimationBuilder
  • TypewriterTextfield
  • UnconstrainedBox
  • UnderlineTabIndicator
  • ValueListenableBuilder
  • Visibility
  • Wrap
  • WrapCrossAlignment
  • WrapSpacing

常用组件

对于初学者来说,建议重点学习以下常用组件:

  • AppBar:应用栏,用于显示标题、导航按钮等。
  • BottomNavigationBar:底部导航栏,用于在不同页面间切换。
  • Button:按钮,用于触发事件。
  • Container:容器,用于组合和布局其他组件。
  • Column:垂直布局组件,将组件从上到下排列。
  • Image:图像组件,用于显示图像。
  • ListView:列表组件,用于显示可滚动的列表。
  • Row:水平布局组件,将组件从左到右排列。
  • Scaffold:脚手架组件,提供了应用的基本布局,包括 AppBar、底部导航栏和内容区域。
  • Text:文本组件,用于显示文本。

初学者建议

  • 优先学习常用组件: 专注于掌握上文列出的常用组件,因为它们在大多数 Flutter 应用中都会用到。
  • 不要害怕实验: 尝试不同的组件和设置,了解它们的工作方式。
  • 阅读文档: Flutter 官方文档是了解组件的宝贵资源。
  • 加入社区: 加入 Flutter 社区,可以与其他开发者交流和获得帮助。

控件类的继承关系图

下图显示了 Flutter 控件类的继承关系图:

[图片:Flutter 控件类的继承关系图]

总结

本文提供了 179 个 Flutter 组件的详细使用指南,涵盖了从常用到非常用的各种组件。通过遵循初学者建议,您可以快速掌握 Flutter 的基础知识,并构建出色且令人惊叹的移动应用。

更新

本文将定期更新,以包含 Flutter 中新增的组件。您可以加入微信交流群(见本文末尾),同步获取最新更新。