Dart 控件
https://api.flutter.dev/flutter/widgets/widgets-library.html
Accessibility
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
ExcludeSemantics | https://api.flutter.dev/flutter/widgets/ExcludeSemantics-class.html | 删除其子代的所有语义的小部件。这可以用来隐藏子窗口小部件,否则会被报告,但这只会让人困惑。例如,Material Components芯片小部件隐藏化身,因为它与芯片标签是冗余的。 |
MergeSemantics | https://api.flutter.dev/flutter/widgets/MergeSemantics-class.html | 合并其子代语义的小部件。 |
Semantics | https://api.flutter.dev/flutter/widgets/Semantics-class.html | 一个小部件,用小部件含义的描述对小部件树进行注释。可访问性工具、搜索引擎和其他语义分析软件用于确定应用程序的含义。 |
Animation and Motion
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
AnimatedAlign | https://api.flutter.dev/flutter/widgets/AnimatedAlign-class.html | Align的动画版本,每当给定对齐方式发生更改时,它会在给定的持续时间内自动转换子对象的位置。 |
AnimatedBuilder | https://api.flutter.dev/flutter/widgets/AnimatedBuilder-class.html | 用于构建动画的通用小部件。对于希望将动画作为更大构建功能的一部分的更复杂的小部件,AnimatedBuilder非常有用。要使用AnimatedBuilder,只需构造小部件并向其传递一个builder函数。 |
AnimatedContainer | https://api.flutter.dev/flutter/widgets/AnimatedContainer-class.html | 在一段时间内逐渐改变其值的容器。 |
AnimatedCrossFade | https://api.flutter.dev/flutter/widgets/AnimatedCrossFade-class.html | 在两个给定的子对象之间交叉淡入淡出并在其大小之间设置自身动画的小部件。 |
AnimatedDefaultTextStyle | https://api.flutter.dev/flutter/widgets/AnimatedDefaultTextStyle-class.html | DefaultTextStyle的动画版本,在给定的持续时间内,只要给定的样式发生更改,就会自动转换默认文本样式(应用于没有显式样式的后代文本小部件的文本样式)。 |
AnimatedListState | https://api.flutter.dev/flutter/widgets/AnimatedListState-class.html | 滚动容器的状态,用于在插入或删除项目时设置项目动画。 |
AnimatedModalBarrier | https://api.flutter.dev/flutter/widgets/AnimatedModalBarrier-class.html | 阻止用户与自身后面的小部件交互的小部件。 |
AnimatedOpacity | https://api.flutter.dev/flutter/widgets/AnimatedOpacity-class.html | 不透明度的动画版本,当给定的不透明度更改时,该版本会在给定的持续时间内自动转换子对象的不透明度。 |
AnimatedPhysicalModel | https://api.flutter.dev/flutter/widgets/AnimatedPhysicalModel-class.html | PhysicalModel的动画版本。 |
AnimatedPositioned | https://api.flutter.dev/flutter/widgets/AnimatedPositioned-class.html | Posited的动画版本,在给定的持续时间内,只要给定的位置发生变化,就会自动变换孩子的位置。 |
AnimatedSize | https://api.flutter.dev/flutter/widgets/AnimatedSize-class.html | 动画小部件,在给定的时间内,只要给定的孩子的大小发生变化,它就会自动转换其大小。 |
AnimatedWidget | https://api.flutter.dev/flutter/widgets/AnimatedWidget-class.html | 当给定的Listenable值更改时重建的小部件。 |
AnimatedWidgetBaseState | https://api.flutter.dev/flutter/widgets/AnimatedWidgetBaseState-class.html | 具有隐式动画的小部件的基类。 |
DecoratedBoxTransition | https://api.flutter.dev/flutter/widgets/DecoratedBoxTransition-class.html | 装饰框的动画版本,用于为其装饰的不同属性设置动画。 |
FadeTransition | https://api.flutter.dev/flutter/widgets/FadeTransition-class.html | 设置小部件不透明度的动画。 |
Hero | https://api.flutter.dev/flutter/widgets/Hero-class.html | 将其子对象标记为英雄动画候选对象的小部件。 |
PositionedTransition | https://api.flutter.dev/flutter/widgets/PositionedTransition-class.html | Posited的动画版本,使用特定动画在动画的生命周期内将子对象的位置从开始位置过渡到结束位置。 |
RotationTransition | https://api.flutter.dev/flutter/widgets/RotationTransition-class.html | 设置小部件旋转的动画。 |
ScaleTransition | https://api.flutter.dev/flutter/widgets/ScaleTransition-class.html | 设置变换小部件的缩放动画。 |
SizeTransition | https://api.flutter.dev/flutter/widgets/SizeTransition-class.html | 设置其自身大小和剪辑的动画,并对齐子对象。 |
SlideTransition | https://api.flutter.dev/flutter/widgets/SlideTransition-class.html | 设置小部件相对于其正常位置的位置动画。 |
Assets, Images, and Icons
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
AssetBundle | https://api.flutter.dev/flutter/services/AssetBundle-class.html | 资产包包含应用程序可以使用的资源,如图像和字符串。对这些资源的访问是异步的,因此可以通过网络(例如,从NetworkAssetBundle)或本地文件系统透明地加载它们,而不会阻塞应用程序的用户界面。 |
Icon | https://api.flutter.dev/flutter/widgets/Icon-class.html | 材质设计图标。 |
Image | https://api.flutter.dev/flutter/widgets/Image-class.html | 显示图像的小部件。 |
RawImage | https://api.flutter.dev/flutter/widgets/RawImage-class.html | 直接显示dart:ui.Image的小部件。 |
Async
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
FutureBuilder | https://api.flutter.dev/flutter/widgets/FutureBuilder-class.html | 基于与未来交互的最新快照构建自身的小部件。 |
StreamBuilder | https://api.flutter.dev/flutter/widgets/StreamBuilder-class.html | 基于与流交互的最新快照构建自身的小部件。 |
Basics
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
Appbar | https://api.flutter.dev/flutter/material/AppBar-class.html | 材质设计应用程序栏。应用程序栏由工具栏和其他可能的小部件组成,如选项卡栏和FlexibleSpaceBar。 |
Column | https://api.flutter.dev/flutter/widgets/Column-class.html | 在垂直方向上布局子窗口小部件的列表。 |
Container | https://api.flutter.dev/flutter/widgets/Container-class.html | 一个方便的小部件,它结合了常见的绘制、定位和大小调整小部件。 |
ElevatedButton | https://api.flutter.dev/flutter/material/ElevatedButton-class.html | 一种材料设计的按钮。一种填充按钮,按下时其材料会升高。 |
FlutterLogo | https://api.flutter.dev/flutter/material/FlutterLogo-class.html | 小部件形式的颤振徽标。此小部件尊重IconTheme。 |
Icon | https://api.flutter.dev/flutter/widgets/Icon-class.html | 材质设计图标。 |
Image | https://api.flutter.dev/flutter/widgets/Image-class.html | 显示图像的小部件。 |
Placeholder | https://api.flutter.dev/flutter/widgets/Placeholder-class.html | 一个小部件,它绘制一个框,表示有一天其他小部件将添加到何处。 |
Row | https://api.flutter.dev/flutter/widgets/Row-class.html | 在水平方向上布局子窗口小部件的列表。 |
Scaffold | https://api.flutter.dev/flutter/material/Scaffold-class.html | 实现了可视化的物料布局设计。此类提供了用于显示抽屉、快餐店和底页的API。 |
Text | https://api.flutter.dev/flutter/widgets/Text-class.html | 具有单一样式的一系列文本。 |
Cupertino (iOS-style widgets)
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
CupertinoActionSheet | https://api.flutter.dev/flutter/cupertino/CupertinoActionSheet-class.html | iOS风格的模式底部操作表,用于在众多选项中选择一个选项。 |
CupertinoActivityIndicator | https://api.flutter.dev/flutter/cupertino/CupertinoActivityIndicator-class.html | iOS风格的活动指示器。显示圆形“微调器”。 |
CupertinoAlertDialog | https://api.flutter.dev/flutter/cupertino/CupertinoAlertDialog-class.html | iOS样式的警报对话框。 |
CupertinoButton | https://api.flutter.dev/flutter/cupertino/CupertinoButton-class.html | iOS风格的按钮。 |
CupertinoContextMenu | https://api.flutter.dev/flutter/cupertino/CupertinoContextMenu-class.html | 长按孩子时打开的iOS风格的全屏模式路由。用于显示内容的相关操作。 |
CupertinoDatePicker | https://api.flutter.dev/flutter/cupertino/CupertinoDatePicker-class.html | iOS样式的日期或日期和时间选择器。 |
CupertinoDialog | https://api.flutter.dev/flutter/cupertino/CupertinoDialog-class.html | 一个iOS风格的对话框。 |
CupertinoDialogAction | https://api.flutter.dev/flutter/cupertino/CupertinoDialogAction-class.html | 一种按钮,通常用在CupertinoAlertDialog中。 |
CupertinoFullscreenDialogTransition | https://api.flutter.dev/flutter/cupertino/CupertinoFullscreenDialogTransition-class.html | 用于调用全屏对话框的iOS风格转换。 |
CupertinoNavigationBar | https://api.flutter.dev/flutter/cupertino/CupertinoNavigationBar-class.html | iOS风格的顶部导航栏。通常与CupertinoPageScaffold一起使用。 |
CupertinoPageScaffold | https://api.flutter.dev/flutter/cupertino/CupertinoPageScaffold-class.html | 基本的iOS风格页面布局结构。将导航栏和内容放置在背景上。 |
CupertinoPageTransition | https://api.flutter.dev/flutter/cupertino/CupertinoPageTransition-class.html | 提供iOS样式的页面转换动画。 |
CupertinoPicker | https://api.flutter.dev/flutter/cupertino/CupertinoPicker-class.html | iOS风格的选择器控件。用于选择短列表中的项目。 |
CupertinoPopupSurface | https://api.flutter.dev/flutter/cupertino/CupertinoPopupSurface-class.html | 圆形矩形表面,看起来像iOS弹出式界面,如警报对话框或操作表。 |
CupertinoScrollbar | https://api.flutter.dev/flutter/cupertino/CupertinoScrollbar-class.html | 一个iOS风格的滚动条,指示当前可见的可滚动小部件的哪个部分。 |
CupertinoSearchTextField | https://api.flutter.dev/flutter/cupertino/CupertinoSearchTextField-class.html | iOS风格的搜索字段。 |
CupertinoSegmentedControl | https://api.flutter.dev/flutter/cupertino/CupertinoSegmentedControl-class.html | iOS风格的分段控件。用于在水平列表中选择相互排斥的选项。 |
CupertinoSlider | https://api.flutter.dev/flutter/cupertino/CupertinoSlider-class.html | 用于从一系列值中进行选择。 |
CupertinoSlidingSegmentedControl | https://api.flutter.dev/flutter/cupertino/CupertinoSlidingSegmentedControl-class.html | iOS-13风格的分段控件。用于在水平列表中选择相互排斥的选项。 |
CupertinoSliverNavigationBar | https://api.flutter.dev/flutter/cupertino/CupertinoSliverNavigationBar-class.html | 一个iOS风格的导航栏,带有iOS-11风格的大标题,使用条子。 |
CupertinoSwitch | https://api.flutter.dev/flutter/cupertino/CupertinoSwitch-class.html | iOS风格的开关。用于切换单个设置的开/关状态。 |
CupertinoTabBar | https://api.flutter.dev/flutter/cupertino/CupertinoTabBar-class.html | iOS样式的底部选项卡栏。通常与Cupertinobsaffold一起使用。 |
CupertinoTabScaffold | https://api.flutter.dev/flutter/cupertino/CupertinoTabScaffold-class.html | 选项卡式iOS应用程序结构。将选项卡栏放置在内容选项卡的顶部。 |
CupertinoTabView | https://api.flutter.dev/flutter/cupertino/CupertinoTabView-class.html | 支持选项卡间并行导航的选项卡的根内容。通常与Cupertinobsaffold一起使用。 |
CupertinoTextField | https://api.flutter.dev/flutter/cupertino/CupertinoTextField-class.html | iOS样式的文本字段。 |
CupertinoTimerPicker | https://api.flutter.dev/flutter/cupertino/CupertinoTimerPicker-class.html | iOS风格的倒计时计时器选择器。 |
Input
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
Autocomplete | https://api.flutter.dev/flutter/material/Autocomplete-class.html | 通过输入一些文本并从选项列表中进行选择,帮助用户进行选择的小部件。 |
Form | https://api.flutter.dev/flutter/widgets/Form-class.html | 用于将多个表单字段小部件(例如TextField小部件)组合在一起的可选容器。 |
FormField | https://api.flutter.dev/flutter/widgets/FormField-class.html | 单个表单字段。此小部件维护表单字段的当前状态,以便在UI中直观地反映更新和验证错误。 |
RawKeyboardListener | https://api.flutter.dev/flutter/widgets/RawKeyboardListener-class.html | 每当用户按下或释放键盘上的键时调用回调的小部件。 |
Interaction Models
组件名称名字 | 视频URL | 组件英文描述 |
---|
Touch interactions
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
AbsorbPointer | https://api.flutter.dev/flutter/widgets/AbsorbPointer-class.html | 在命中测试期间吸收指针的小部件。如果为true,此小部件通过终止自身的命中测试来防止其子树接收指针事件。在布局过程中,它仍然会消耗空间,并像往常一样绘制其子对象。它只是防止其子级成为定位事件的目标,因为它从RenderBox.hitTest返回true。 |
Dismissible | https://api.flutter.dev/flutter/widgets/Dismissible-class.html | 一种小部件,可通过沿指示方向拖动来解除。将此小部件向相反方向拖动或投掷会导致子部件滑出视图。在幻灯片动画之后,如果resizeDuration为非null,则Dismissible小部件会在resizeDuration期间将其高度(或宽度,以与Dismissive方向垂直的为准)动画设置为零。 |
DragTarget | https://api.flutter.dev/flutter/widgets/DragTarget-class.html | 当可拖动小部件被丢弃时接收数据的小部件。当在拖动目标上拖动拖动表时,将询问拖动目标是否接受拖动表所承载的数据。如果用户确实将可拖动对象放置在拖动目标的顶部(并且拖动目标已指示它将接受可拖动对象的数据),则会要求拖动目标接受可拖动对象的数据。 |
Draggable | https://api.flutter.dev/flutter/widgets/Draggable-class.html | 可以从拖动到拖动目标的小部件。当可拖动小部件识别拖动手势的开始时,它会显示一个反馈小部件,在屏幕上跟踪用户的手指。如果用户在DragTarget上抬起手指,则该目标将有机会接受DragTable携带的数据。 |
DraggableScrollableSheet | https://api.flutter.dev/flutter/widgets/DraggableScrollableSheet-class.html | 一种可滚动文件的容器,通过调整可滚动文件的大小直到达到限制,然后滚动来响应拖动手势。 |
GestureDetector | https://api.flutter.dev/flutter/widgets/GestureDetector-class.html | 检测手势的小部件。尝试识别与其非空回调相对应的手势。如果这个小部件有一个子部件,它将根据该子部件的大小调整行为。如果它没有子对象,则会成长为适合父对象。 |
IgnorePointer | https://api.flutter.dev/flutter/widgets/IgnorePointer-class.html | 在命中测试期间不可见的小部件。如果忽略为true,则此小部件(及其子树)对命中测试不可见。在布局过程中,它仍然会消耗空间,并像往常一样绘制其子对象。它不能成为定位事件的目标,因为它从RenderBox.hitTest返回false。 |
InteractiveViewer | https://api.flutter.dev/flutter/widgets/InteractiveViewer-class.html | 一个小部件,可与子部件进行平移和缩放交互。 |
LongPressDraggable | https://api.flutter.dev/flutter/widgets/LongPressDraggable-class.html | 从长按开始,使其子项可拖动。 |
Scrollable | https://api.flutter.dev/flutter/widgets/Scrollable-class.html | Scrollable实现了可滚动小部件的交互模型,包括手势识别,但对实际显示子对象的视口的构造方式没有意见。 |
Routing
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
Hero | https://api.flutter.dev/flutter/widgets/Hero-class.html | 将其子对象标记为英雄动画候选对象的小部件。 |
Navigator | https://api.flutter.dev/flutter/widgets/Navigator-class.html | 使用堆栈规程管理一组子小部件的小部件。许多应用程序在其小部件层次结构的顶部附近有一个导航器,可以使用覆盖显示其逻辑历史,最近访问的页面可视地显示在旧页面的顶部。使用此模式,导航器可以通过在覆盖中移动窗口小部件,直观地从一个页面过渡到另一个页面。类似地,导航器可以通过将对话框小部件定位在当前页面上方来显示对话框。 |
Layout
组件名称名字 | 视频URL | 组件英文描述 |
---|
Single-child layout widgets
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
Align | https://api.flutter.dev/flutter/widgets/Align-class.html | 一个小部件,它将其子部件与自身对齐,并根据子部件的大小选择调整自身大小。 |
AspectRatio | https://api.flutter.dev/flutter/widgets/AspectRatio-class.html | 一种小部件,尝试将子对象的大小调整为特定的纵横比。 |
Baseline | https://api.flutter.dev/flutter/widgets/Baseline-class.html | 根据子对象的基线定位其子对象的小部件。 |
Center | https://api.flutter.dev/flutter/widgets/Center-class.html | 一个小部件,它将其子部件集中在自己内部。 |
ConstrainedBox | https://api.flutter.dev/flutter/widgets/ConstrainedBox-class.html | 对其子项施加附加约束的小部件。 |
Container | https://api.flutter.dev/flutter/widgets/Container-class.html | 一个方便的小部件,它结合了常见的绘制、定位和大小调整小部件。 |
CustomSingleChildLayout | https://api.flutter.dev/flutter/widgets/CustomSingleChildLayout-class.html | 将其单个子级的布局推迟到委托的小部件。 |
Expanded | https://api.flutter.dev/flutter/widgets/Expanded-class.html | 展开行、列或Flex的子项的小部件。 |
FittedBox | https://api.flutter.dev/flutter/widgets/FittedBox-class.html | 根据适合度在其子对象内部缩放和定位。 |
FractionallySizedBox | https://api.flutter.dev/flutter/widgets/FractionallySizedBox-class.html | 一种小部件,其子部件的大小为总可用空间的一小部分。有关RenderFlowBox算法的详细信息,请参见RenderFlowBox。 |
IntrinsicHeight | https://api.flutter.dev/flutter/widgets/IntrinsicHeight-class.html | 一种小部件,可根据子部件的固有高度调整其子部件的大小。 |
IntrinsicWidth | https://api.flutter.dev/flutter/widgets/IntrinsicWidth-class.html | 一个小部件,它将其子对象的大小调整为子对象的固有宽度。 |
LimitedBox | https://api.flutter.dev/flutter/widgets/LimitedBox-class.html | 只有在不受约束的情况下才限制其大小的长方体。 |
Offstage | https://api.flutter.dev/flutter/widgets/Offstage-class.html | 一个小部件,它可以像在树上一样布置子对象,但不绘制任何内容,不使子对象可用于命中测试,也不占用父对象中的任何空间。 |
OverflowBox | https://api.flutter.dev/flutter/widgets/OverflowBox-class.html | 一个小部件,它对其子部件施加的约束与其从父部件获得的约束不同,可能允许子部件溢出父部件。 |
Padding | https://api.flutter.dev/flutter/widgets/Padding-class.html | 通过给定的填充插入其子项的小部件。 |
SizedBox | https://api.flutter.dev/flutter/widgets/SizedBox-class.html | 具有指定大小的盒子。如果给定一个子部件,该小部件将强制其子部件具有特定的宽度和/或高度(假设该小部件的父部件允许该值)。如果宽度或高度为空,此小部件将调整自身大小以匹配该维度中的子对象大小。 |
SizedOverflowBox | https://api.flutter.dev/flutter/widgets/SizedOverflowBox-class.html | 具有特定大小的小部件,但将其原始约束传递给其子部件,这可能会溢出。 |
Transform | https://api.flutter.dev/flutter/widgets/Transform-class.html | 在绘制其子对象之前应用转换的小部件。 |
Multi-child layout widgets
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
Column | https://api.flutter.dev/flutter/widgets/Column-class.html | 在垂直方向上布局子窗口小部件的列表。 |
CustomMultiChildLayout | https://api.flutter.dev/flutter/widgets/CustomMultiChildLayout-class.html | 一种小部件,使用委托来调整和定位多个子项。 |
Flow | https://api.flutter.dev/flutter/widgets/Flow-class.html | 实现流布局算法的小部件。 |
GridView | https://api.flutter.dev/flutter/widgets/GridView-class.html | 网格列表由以垂直和水平布局排列的单元格的重复模式组成。GridView小部件实现了这个组件。 |
IndexedStack | https://api.flutter.dev/flutter/widgets/IndexedStack-class.html | 显示子项列表中单个子项的堆栈。 |
LayoutBuilder | https://api.flutter.dev/flutter/widgets/LayoutBuilder-class.html | 根据父窗口小部件的大小构建窗口小部件树。 |
ListBody | https://api.flutter.dev/flutter/widgets/ListBody-class.html | 一种小部件,它沿给定的轴顺序排列其子部件,迫使它们位于另一个轴上父部件的尺寸。 |
ListView | https://api.flutter.dev/flutter/widgets/ListView-class.html | 可滚动的线性小部件列表。ListView是最常用的滚动小部件。它在滚动方向上一个接一个地显示其子对象。在横轴中,子对象需要填充ListView。 |
Row | https://api.flutter.dev/flutter/widgets/Row-class.html | 在水平方向上布局子窗口小部件的列表。 |
Stack | https://api.flutter.dev/flutter/widgets/Stack-class.html | 如果您希望以简单的方式重叠多个子对象,例如使用渐变和底部附加的按钮覆盖一些文本和图像,则此类非常有用。 |
Table | https://api.flutter.dev/flutter/widgets/Table-class.html | 为其子级使用表布局算法的小部件。 |
Wrap | https://api.flutter.dev/flutter/widgets/Wrap-class.html | 在多个水平或垂直运行中显示其子项的小部件。 |
Sliver widgets
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
CupertinoSliverNavigationBar | https://api.flutter.dev/flutter/cupertino/CupertinoSliverNavigationBar-class.html | 一个iOS风格的导航栏,带有iOS-11风格的大标题,使用条子。 |
CustomScrollView | https://api.flutter.dev/flutter/widgets/CustomScrollView-class.html | 使用狭缝创建自定义滚动效果的滚动视图。 |
SliverAppBar | https://api.flutter.dev/flutter/material/SliverAppBar-class.html | 与CustomScrollView集成的材质设计应用程序栏。 |
SliverChildBuilderDelegate | https://api.flutter.dev/flutter/widgets/SliverChildBuilderDelegate-class.html | 使用生成器回调为片段提供子对象的委托。 |
SliverChildListDelegate | https://api.flutter.dev/flutter/widgets/SliverChildListDelegate-class.html | 使用显式列表为碎片提供子对象的委托。 |
SliverFixedExtentList | https://api.flutter.dev/flutter/widgets/SliverFixedExtentList-class.html | 在线性阵列中放置具有相同主轴范围的多个长方体子对象的小条。 |
SliverGrid | https://api.flutter.dev/flutter/widgets/SliverGrid-class.html | 在二维排列中放置多个盒子子对象的条子。 |
SliverList | https://api.flutter.dev/flutter/widgets/SliverList-class.html | 沿主轴将多个长方体子对象放置在线性阵列中的小条。 |
SliverPadding | https://api.flutter.dev/flutter/widgets/SliverPadding-class.html | 在另一条棉条的每一面上加衬垫的棉条。 |
SliverPersistentHeader | https://api.flutter.dev/flutter/widgets/SliverPersistentHeader-class.html | 当条子滚动到与条子生长方向相反的视口边缘时,其大小会发生变化的条子。 |
SliverToBoxAdapter | https://api.flutter.dev/flutter/widgets/SliverToBoxAdapter-class.html | 包含单个框小部件的小部件。 |
Material Components
组件名称名字 | 视频URL | 组件英文描述 |
---|
App structure and navigation
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
Appbar | https://api.flutter.dev/flutter/material/AppBar-class.html | 材质设计应用程序栏。应用程序栏由工具栏和其他可能的小部件组成,如选项卡栏和FlexibleSpaceBar。 |
BottomNavigationBar | https://api.flutter.dev/flutter/material/BottomNavigationBar-class.html | 底部导航栏可以轻松地在一次点击中浏览和切换顶级视图。BottomNavigationBar小部件实现此组件。 |
Drawer | https://api.flutter.dev/flutter/material/Drawer-class.html | 从脚手架边缘水平滑入的材质设计面板,用于显示应用程序中的导航链接。 |
MaterialApp | https://api.flutter.dev/flutter/material/MaterialApp-class.html | 一个方便的小部件,它封装了实现材质设计的应用程序通常需要的许多小部件。 |
Scaffold | https://api.flutter.dev/flutter/material/Scaffold-class.html | 实现了可视化的物料布局设计。此类提供了用于显示抽屉、快餐店和底页的API。 |
SliverAppBar | https://api.flutter.dev/flutter/material/SliverAppBar-class.html | 与CustomScrollView集成的材质设计应用程序栏。 |
TabBar | https://api.flutter.dev/flutter/material/TabBar-class.html | 显示水平行选项卡的材质设计小部件。 |
TabBarView | https://api.flutter.dev/flutter/material/TabBarView-class.html | 显示与当前所选选项卡相对应的小部件的页面视图。通常与选项卡栏结合使用。 |
TabController | https://api.flutter.dev/flutter/material/TabController-class.html | 在选项卡栏和选项卡栏视图之间协调选项卡选择。 |
TabPageSelector | https://api.flutter.dev/flutter/material/TabPageSelector-class.html | 显示一行小圆形指示器,每个选项卡一个。所选选项卡的指示器将高亮显示。通常与TabBarView结合使用。 |
WidgetsApp | https://api.flutter.dev/flutter/widgets/WidgetsApp-class.html | 一个方便类,它封装了应用程序通常需要的许多小部件。 |
Buttons
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
DropdownButton | https://api.flutter.dev/flutter/material/DropdownButton-class.html | 显示当前选定的项目和箭头,箭头打开用于选择其他项目的菜单。 |
ElevatedButton | https://api.flutter.dev/flutter/material/ElevatedButton-class.html | 一种材料设计的按钮。一种填充按钮,按下时其材料会升高。 |
FloatingActionButton | https://api.flutter.dev/flutter/material/FloatingActionButton-class.html | 浮动操作按钮是一个圆形图标按钮,它悬停在内容上,以提升应用程序中的主要操作。浮动操作按钮最常用于Scaffold.floatingActionButton字段。 |
IconButton | https://api.flutter.dev/flutter/material/IconButton-class.html | 图标按钮是打印在材质小部件上的图片,通过填充颜色(墨水)对触摸作出反应。 |
OutlinedButton | https://api.flutter.dev/flutter/material/OutlinedButton-class.html | 一种材料设计的轮廓按钮,本质上是一个带有轮廓边框的文本按钮。 |
PopupMenuButton | https://api.flutter.dev/flutter/material/PopupMenuButton-class.html | 按下时显示菜单,由于选择了某个项目而取消菜单时调用onSelected。 |
TextButton | https://api.flutter.dev/flutter/material/TextButton-class.html | 材质设计文本按钮。没有边框轮廓的简单平面按钮。 |
Input and selections
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
Checkbox | https://api.flutter.dev/flutter/material/Checkbox-class.html | 复选框允许用户从集合中选择多个选项。复选框小部件实现了这个组件。 |
Date & Time Pickers | https://api.flutter.dev/flutter/material/showDatePicker.html | 日期选择器使用对话框窗口在手机上选择单个日期。时间选择器使用对话框在手机上选择单个时间(小时:分钟格式)。 |
Radio | https://api.flutter.dev/flutter/material/Radio-class.html | 单选按钮允许用户从集合中选择一个选项。如果您认为用户需要并排查看所有可用选项,请使用单选按钮进行独占选择。 |
Slider | https://api.flutter.dev/flutter/material/Slider-class.html | 滑块允许用户通过移动滑块拇指从一系列值中进行选择。 |
Switch | https://api.flutter.dev/flutter/material/Switch-class.html | 打开/关闭开关切换单个设置选项的状态。Switch小部件实现了这个组件。 |
TextField | https://api.flutter.dev/flutter/material/TextField-class.html | 触摸文本字段将放置光标并显示键盘。TextField小部件实现了这个组件。 |
Dialogs, alerts, and panels
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
AlertDialog | https://api.flutter.dev/flutter/material/AlertDialog-class.html | 警报是需要确认的紧急中断,用于通知用户有关情况。AlertDialog小部件实现此组件。 |
BottomSheet | https://api.flutter.dev/flutter/material/BottomSheet-class.html | 底部纸张从屏幕底部向上滑动,以显示更多内容。可以调用showBottomSheet()来实现持久的底部工作表,也可以调用showModalBottomSheet()来实现模式的底部工作表。 |
ExpansionPanel | https://api.flutter.dev/flutter/material/ExpansionPanel-class.html | 扩展面板包含创建流,并允许对元素进行轻量级编辑。ExpansionPanel小部件实现此组件。 |
SimpleDialog | https://api.flutter.dev/flutter/material/SimpleDialog-class.html | 简单对话框可以提供有关列表项的其他详细信息或操作。例如,它们可以显示头像图标,以澄清潜台词或正交动作(例如添加帐户)。 |
SnackBar | https://api.flutter.dev/flutter/material/SnackBar-class.html | 带有可选操作的轻量级消息,简要显示在屏幕底部。 |
Information displays
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
Card | https://api.flutter.dev/flutter/material/Card-class.html | 材料设计卡。卡片有略微圆角和阴影。 |
Chip | https://api.flutter.dev/flutter/material/Chip-class.html | 一种材料设计芯片。芯片在小块中表示复杂的实体,例如触点。 |
CircularProgressIndicator | https://api.flutter.dev/flutter/material/CircularProgressIndicator-class.html | 物料设计循环进度指示器,旋转以指示应用程序正忙。 |
DataTable | https://api.flutter.dev/flutter/material/DataTable-class.html | 数据表显示原始数据集。它们通常出现在桌面企业产品中。DataTable小部件实现了这个组件。 |
GridView | https://api.flutter.dev/flutter/widgets/GridView-class.html | 网格列表由以垂直和水平布局排列的单元格的重复模式组成。GridView小部件实现了这个组件。 |
Icon | https://api.flutter.dev/flutter/widgets/Icon-class.html | 材质设计图标。 |
Image | https://api.flutter.dev/flutter/widgets/Image-class.html | 显示图像的小部件。 |
LinearProgressIndicator | https://api.flutter.dev/flutter/material/LinearProgressIndicator-class.html | 材质设计线性进度指示器,也称为进度条。 |
Tooltip | https://api.flutter.dev/flutter/material/Tooltip-class.html | 工具提示提供有助于解释按钮功能或其他用户界面操作的文本标签。将按钮包装在工具提示小部件中,以在小部件长按(或用户采取其他适当操作)时显示标签。 |
Layout
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
Divider | https://api.flutter.dev/flutter/material/Divider-class.html | 一条一个逻辑像素厚的水平线,两边都有填充。 |
ListTile | https://api.flutter.dev/flutter/material/ListTile-class.html | 一个固定高度的行,通常包含一些文本以及前导或尾随图标。 |
Stepper | https://api.flutter.dev/flutter/material/Stepper-class.html | 材料设计步进程序小部件,显示一系列步骤的进度。 |
Painting and effects
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
BackdropFilter | https://api.flutter.dev/flutter/widgets/BackdropFilter-class.html | 将过滤器应用于现有绘制内容,然后绘制子对象的小部件。这种效果相对昂贵,尤其是如果过滤器是非局部的,例如模糊。 |
ClipOval | https://api.flutter.dev/flutter/widgets/ClipOval-class.html | 一个小部件,它使用椭圆形剪辑其子对象。 |
ClipPath | https://api.flutter.dev/flutter/widgets/ClipPath-class.html | 使用路径剪辑其子对象的小部件。 |
ClipRect | https://api.flutter.dev/flutter/widgets/ClipRect-class.html | 使用矩形剪辑其子对象的小部件。 |
CustomPaint | https://api.flutter.dev/flutter/widgets/CustomPaint-class.html | 一个小部件,提供在绘制阶段绘制的画布。 |
DecoratedBox | https://api.flutter.dev/flutter/widgets/DecoratedBox-class.html | 在其子对象绘制之前或之后绘制装饰的小部件。 |
FractionalTranslation | https://api.flutter.dev/flutter/widgets/FractionalTranslation-class.html | 一种小部件,在绘制其子对象之前,应用以框大小的一小部分表示的转换。 |
Opacity | https://api.flutter.dev/flutter/widgets/Opacity-class.html | 使其子部件部分透明的小部件。 |
RotatedBox | https://api.flutter.dev/flutter/widgets/RotatedBox-class.html | 将其子部件旋转整数个四分之一圈的小部件。 |
Transform | https://api.flutter.dev/flutter/widgets/Transform-class.html | 在绘制其子对象之前应用转换的小部件。 |
Scrolling
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
CustomScrollView | https://api.flutter.dev/flutter/widgets/CustomScrollView-class.html | 使用狭缝创建自定义滚动效果的滚动视图。 |
DraggableScrollableSheet | https://api.flutter.dev/flutter/widgets/DraggableScrollableSheet-class.html | 一种可滚动文件的容器,通过调整可滚动文件的大小直到达到限制,然后滚动来响应拖动手势。 |
GridView | https://api.flutter.dev/flutter/widgets/GridView-class.html | 网格列表由以垂直和水平布局排列的单元格的重复模式组成。GridView小部件实现了这个组件。 |
ListView | https://api.flutter.dev/flutter/widgets/ListView-class.html | 可滚动的线性小部件列表。ListView是最常用的滚动小部件。它在滚动方向上一个接一个地显示其子对象。在横轴中,子对象需要填充ListView。 |
NestedScrollView | https://api.flutter.dev/flutter/widgets/NestedScrollView-class.html | 一种滚动视图,其中可以嵌套其他滚动视图,它们的滚动位置本质上是链接的。 |
NotificationListener | https://api.flutter.dev/flutter/widgets/NotificationListener-class.html | 侦听树上冒泡的通知的小部件。 |
PageView | https://api.flutter.dev/flutter/widgets/PageView-class.html | 一个可滚动的列表,可以一页一页地工作。 |
RefreshIndicator | https://api.flutter.dev/flutter/material/RefreshIndicator-class.html | 一种材质设计,用于刷新滚动条的包装。 |
ReorderableListView | https://api.flutter.dev/flutter/material/ReorderableListView-class.html | 用户可以通过拖动以交互方式重新排序其项的列表。 |
ScrollConfiguration | https://api.flutter.dev/flutter/widgets/ScrollConfiguration-class.html | 控制可滚动小部件在子树中的行为。 |
Scrollable | https://api.flutter.dev/flutter/widgets/Scrollable-class.html | Scrollable实现了可滚动小部件的交互模型,包括手势识别,但对实际显示子对象的视口的构造方式没有意见。 |
Scrollbar | https://api.flutter.dev/flutter/material/Scrollbar-class.html | 材质设计滚动条。滚动条指示可滚动小部件的哪个部分实际可见。 |
SingleChildScrollView | https://api.flutter.dev/flutter/widgets/SingleChildScrollView-class.html | 可以滚动单个小部件的框。当您有一个通常完全可见的框(例如时间选择器中的时钟面)时,此小部件非常有用,但如果容器在一个轴(滚动方向)上变得太小,则需要确保它可以滚动。 |
Styling
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
MediaQuery | https://api.flutter.dev/flutter/widgets/MediaQuery-class.html | 建立子树,媒体查询在其中解析为给定数据。 |
Padding | https://api.flutter.dev/flutter/widgets/Padding-class.html | 通过给定的填充插入其子项的小部件。 |
Theme | https://api.flutter.dev/flutter/material/Theme-class.html | 将主题应用于子代小部件。主题描述应用程序的颜色和排版选择。 |
Text
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
DefaultTextStyle | https://api.flutter.dev/flutter/widgets/DefaultTextStyle-class.html | 要应用于没有显式样式的子体文本小部件的文本样式。 |
RichText | https://api.flutter.dev/flutter/widgets/RichText-class.html | RichText小部件显示使用多种不同样式的文本。要显示的文本使用TextSpan对象树进行描述,每个对象都具有用于该子树的关联样式。根据布局约束的不同,文本可能会跨多行中断,也可能全部显示在同一行上。 |
Text | https://api.flutter.dev/flutter/widgets/Text-class.html | 具有单一样式的一系列文本。 |
Accessibility
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
ExcludeSemantics | https://api.flutter.dev/flutter/widgets/ExcludeSemantics-class.html | A widget that drops all the semantics of its descendants. This can be used to hide subwidgets that would otherwise be reported but that would only be confusing. For example, the Material Components Chip widget hides the avatar since it is redundant with the chip label. |
MergeSemantics | https://api.flutter.dev/flutter/widgets/MergeSemantics-class.html | A widget that merges the semantics of its descendants. |
Semantics | https://api.flutter.dev/flutter/widgets/Semantics-class.html | A widget that annotates the widget tree with a description of the meaning of the widgets. Used by accessibility tools, search engines, and other semantic analysis software to determine the meaning of the application. |
Animation and Motion
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
AnimatedAlign | https://api.flutter.dev/flutter/widgets/AnimatedAlign-class.html | Animated version of Align which automatically transitions the child's position over a given duration whenever the given alignment changes. |
AnimatedBuilder | https://api.flutter.dev/flutter/widgets/AnimatedBuilder-class.html | A general-purpose widget for building animations. AnimatedBuilder is useful for more complex widgets that wish to include animation as part of a larger build function. To use AnimatedBuilder, simply construct the widget and pass it a builder function. |
AnimatedContainer | https://api.flutter.dev/flutter/widgets/AnimatedContainer-class.html | A container that gradually changes its values over a period of time. |
AnimatedCrossFade | https://api.flutter.dev/flutter/widgets/AnimatedCrossFade-class.html | A widget that cross-fades between two given children and animates itself between their sizes. |
AnimatedDefaultTextStyle | https://api.flutter.dev/flutter/widgets/AnimatedDefaultTextStyle-class.html | Animated version of DefaultTextStyle which automatically transitions the default text style (the text style to apply to descendant Text widgets without explicit style) over a given duration whenever the given style changes. |
AnimatedListState | https://api.flutter.dev/flutter/widgets/AnimatedListState-class.html | The state for a scrolling container that animates items when they are inserted or removed. |
AnimatedModalBarrier | https://api.flutter.dev/flutter/widgets/AnimatedModalBarrier-class.html | A widget that prevents the user from interacting with widgets behind itself. |
AnimatedOpacity | https://api.flutter.dev/flutter/widgets/AnimatedOpacity-class.html | Animated version of Opacity which automatically transitions the child's opacity over a given duration whenever the given opacity changes. |
AnimatedPhysicalModel | https://api.flutter.dev/flutter/widgets/AnimatedPhysicalModel-class.html | Animated version of PhysicalModel. |
AnimatedPositioned | https://api.flutter.dev/flutter/widgets/AnimatedPositioned-class.html | Animated version of Positioned which automatically transitions the child's position over a given duration whenever the given position changes. |
AnimatedSize | https://api.flutter.dev/flutter/widgets/AnimatedSize-class.html | Animated widget that automatically transitions its size over a given duration whenever the given child's size changes. |
AnimatedWidget | https://api.flutter.dev/flutter/widgets/AnimatedWidget-class.html | A widget that rebuilds when the given Listenable changes value. |
AnimatedWidgetBaseState | https://api.flutter.dev/flutter/widgets/AnimatedWidgetBaseState-class.html | A base class for widgets with implicit animations. |
DecoratedBoxTransition | https://api.flutter.dev/flutter/widgets/DecoratedBoxTransition-class.html | Animated version of a DecoratedBox that animates the different properties of its Decoration. |
FadeTransition | https://api.flutter.dev/flutter/widgets/FadeTransition-class.html | Animates the opacity of a widget. |
Hero | https://api.flutter.dev/flutter/widgets/Hero-class.html | A widget that marks its child as being a candidate for hero animations. |
PositionedTransition | https://api.flutter.dev/flutter/widgets/PositionedTransition-class.html | Animated version of Positioned which takes a specific Animation to transition the child's position from a start position to and end position over the lifetime of the animation. |
RotationTransition | https://api.flutter.dev/flutter/widgets/RotationTransition-class.html | Animates the rotation of a widget. |
ScaleTransition | https://api.flutter.dev/flutter/widgets/ScaleTransition-class.html | Animates the scale of transformed widget. |
SizeTransition | https://api.flutter.dev/flutter/widgets/SizeTransition-class.html | Animates its own size and clips and aligns the child. |
SlideTransition | https://api.flutter.dev/flutter/widgets/SlideTransition-class.html | Animates the position of a widget relative to its normal position. |
Assets, Images, and Icons
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
AssetBundle | https://api.flutter.dev/flutter/services/AssetBundle-class.html | Asset bundles contain resources, such as images and strings, that can be used by an application. Access to these resources is asynchronous so that they can be transparently loaded over a network (e.g., from a NetworkAssetBundle) or from the local file system without blocking the application's user interface. |
Icon | https://api.flutter.dev/flutter/widgets/Icon-class.html | A Material Design icon. |
Image | https://api.flutter.dev/flutter/widgets/Image-class.html | A widget that displays an image. |
RawImage | https://api.flutter.dev/flutter/widgets/RawImage-class.html | A widget that displays a dart:ui.Image directly. |
Async
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
FutureBuilder | https://api.flutter.dev/flutter/widgets/FutureBuilder-class.html | Widget that builds itself based on the latest snapshot of interaction with a Future. |
StreamBuilder | https://api.flutter.dev/flutter/widgets/StreamBuilder-class.html | Widget that builds itself based on the latest snapshot of interaction with a Stream. |
Basics
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
Appbar | https://api.flutter.dev/flutter/material/AppBar-class.html | A Material Design app bar. An app bar consists of a toolbar and potentially other widgets, such as a TabBar and a FlexibleSpaceBar. |
Column | https://api.flutter.dev/flutter/widgets/Column-class.html | Layout a list of child widgets in the vertical direction. |
Container | https://api.flutter.dev/flutter/widgets/Container-class.html | A convenience widget that combines common painting, positioning, and sizing widgets. |
ElevatedButton | https://api.flutter.dev/flutter/material/ElevatedButton-class.html | A Material Design elevated button. A filled button whose material elevates when pressed. |
FlutterLogo | https://api.flutter.dev/flutter/material/FlutterLogo-class.html | The Flutter logo, in widget form. This widget respects the IconTheme. |
Icon | https://api.flutter.dev/flutter/widgets/Icon-class.html | A Material Design icon. |
Image | https://api.flutter.dev/flutter/widgets/Image-class.html | A widget that displays an image. |
Placeholder | https://api.flutter.dev/flutter/widgets/Placeholder-class.html | A widget that draws a box that represents where other widgets will one day be added. |
Row | https://api.flutter.dev/flutter/widgets/Row-class.html | Layout a list of child widgets in the horizontal direction. |
Scaffold | https://api.flutter.dev/flutter/material/Scaffold-class.html | Implements the basic Material Design visual layout structure. This class provides APIs for showing drawers, snack bars, and bottom sheets. |
Text | https://api.flutter.dev/flutter/widgets/Text-class.html | A run of text with a single style. |
Cupertino (iOS-style widgets)
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
CupertinoActionSheet | https://api.flutter.dev/flutter/cupertino/CupertinoActionSheet-class.html | An iOS-style modal bottom action sheet to choose an option among many. |
CupertinoActivityIndicator | https://api.flutter.dev/flutter/cupertino/CupertinoActivityIndicator-class.html | An iOS-style activity indicator. Displays a circular 'spinner'. |
CupertinoAlertDialog | https://api.flutter.dev/flutter/cupertino/CupertinoAlertDialog-class.html | An iOS-style alert dialog. |
CupertinoButton | https://api.flutter.dev/flutter/cupertino/CupertinoButton-class.html | An iOS-style button. |
CupertinoContextMenu | https://api.flutter.dev/flutter/cupertino/CupertinoContextMenu-class.html | An iOS-style full-screen modal route that opens when the child is long-pressed. Used to display relevant actions for your content. |
CupertinoDatePicker | https://api.flutter.dev/flutter/cupertino/CupertinoDatePicker-class.html | An iOS-style date or date and time picker. |
CupertinoDialog | https://api.flutter.dev/flutter/cupertino/CupertinoDialog-class.html | An iOS-style dialog. |
CupertinoDialogAction | https://api.flutter.dev/flutter/cupertino/CupertinoDialogAction-class.html | A button typically used in a CupertinoAlertDialog. |
CupertinoFullscreenDialogTransition | https://api.flutter.dev/flutter/cupertino/CupertinoFullscreenDialogTransition-class.html | An iOS-style transition used for summoning fullscreen dialogs. |
CupertinoNavigationBar | https://api.flutter.dev/flutter/cupertino/CupertinoNavigationBar-class.html | An iOS-style top navigation bar. Typically used with CupertinoPageScaffold. |
CupertinoPageScaffold | https://api.flutter.dev/flutter/cupertino/CupertinoPageScaffold-class.html | Basic iOS style page layout structure. Positions a navigation bar and content on a background. |
CupertinoPageTransition | https://api.flutter.dev/flutter/cupertino/CupertinoPageTransition-class.html | Provides an iOS-style page transition animation. |
CupertinoPicker | https://api.flutter.dev/flutter/cupertino/CupertinoPicker-class.html | An iOS-style picker control. Used to select an item in a short list. |
CupertinoPopupSurface | https://api.flutter.dev/flutter/cupertino/CupertinoPopupSurface-class.html | Rounded rectangle surface that looks like an iOS popup surface, such as an alert dialog or action sheet. |
CupertinoScrollbar | https://api.flutter.dev/flutter/cupertino/CupertinoScrollbar-class.html | An iOS-style scrollbar that indicates which portion of a scrollable widget is currently visible. |
CupertinoSearchTextField | https://api.flutter.dev/flutter/cupertino/CupertinoSearchTextField-class.html | An iOS-style search field. |
CupertinoSegmentedControl | https://api.flutter.dev/flutter/cupertino/CupertinoSegmentedControl-class.html | An iOS-style segmented control. Used to select mutually exclusive options in a horizontal list. |
CupertinoSlider | https://api.flutter.dev/flutter/cupertino/CupertinoSlider-class.html | Used to select from a range of values. |
CupertinoSlidingSegmentedControl | https://api.flutter.dev/flutter/cupertino/CupertinoSlidingSegmentedControl-class.html | An iOS-13-style segmented control. Used to select mutually exclusive options in a horizontal list. |
CupertinoSliverNavigationBar | https://api.flutter.dev/flutter/cupertino/CupertinoSliverNavigationBar-class.html | An iOS-styled navigation bar with iOS-11-style large titles using slivers. |
CupertinoSwitch | https://api.flutter.dev/flutter/cupertino/CupertinoSwitch-class.html | An iOS-style switch. Used to toggle the on/off state of a single setting. |
CupertinoTabBar | https://api.flutter.dev/flutter/cupertino/CupertinoTabBar-class.html | An iOS-style bottom tab bar. Typically used with CupertinoTabScaffold. |
CupertinoTabScaffold | https://api.flutter.dev/flutter/cupertino/CupertinoTabScaffold-class.html | Tabbed iOS app structure. Positions a tab bar on top of tabs of content. |
CupertinoTabView | https://api.flutter.dev/flutter/cupertino/CupertinoTabView-class.html | Root content of a tab that supports parallel navigation between tabs. Typically used with CupertinoTabScaffold. |
CupertinoTextField | https://api.flutter.dev/flutter/cupertino/CupertinoTextField-class.html | An iOS-style text field. |
CupertinoTimerPicker | https://api.flutter.dev/flutter/cupertino/CupertinoTimerPicker-class.html | An iOS-style countdown timer picker. |
Input
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
Autocomplete | https://api.flutter.dev/flutter/material/Autocomplete-class.html | A widget for helping the user make a selection by entering some text and choosing from among a list of options. |
Form | https://api.flutter.dev/flutter/widgets/Form-class.html | An optional container for grouping together multiple form field widgets (e.g. TextField widgets). |
FormField | https://api.flutter.dev/flutter/widgets/FormField-class.html | A single form field. This widget maintains the current state of the form field, so that updates and validation errors are visually reflected in the UI. |
RawKeyboardListener | https://api.flutter.dev/flutter/widgets/RawKeyboardListener-class.html | A widget that calls a callback whenever the user presses or releases a key on a keyboard. |
Interaction Models
组件名称名字 | 视频URL | 组件英文描述 |
---|
Touch interactions
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
AbsorbPointer | https://api.flutter.dev/flutter/widgets/AbsorbPointer-class.html | A widget that absorbs pointers during hit testing. When absorbing is true, this widget prevents its subtree from receiving pointer events by terminating hit testing at itself. It still consumes space during layout and paints its child as usual. It just prevents its children from being the target of located events, because it returns true from RenderBox.hitTest. |
Dismissible | https://api.flutter.dev/flutter/widgets/Dismissible-class.html | A widget that can be dismissed by dragging in the indicated direction. Dragging or flinging this widget in the DismissDirection causes the child to slide out of view. Following the slide animation, if resizeDuration is non-null, the Dismissible widget animates its height (or width, whichever is perpendicular to the dismiss direction) to zero over the resizeDuration. |
DragTarget | https://api.flutter.dev/flutter/widgets/DragTarget-class.html | A widget that receives data when a Draggable widget is dropped. When a draggable is dragged on top of a drag target, the drag target is asked whether it will accept the data the draggable is carrying. If the user does drop the draggable on top of the drag target (and the drag target has indicated that it will accept the draggable's data), then the drag target is asked to accept the draggable's data. |
Draggable | https://api.flutter.dev/flutter/widgets/Draggable-class.html | A widget that can be dragged from to a DragTarget. When a draggable widget recognizes the start of a drag gesture, it displays a feedback widget that tracks the user's finger across the screen. If the user lifts their finger while on top of a DragTarget, that target is given the opportunity to accept the data carried by the draggable. |
DraggableScrollableSheet | https://api.flutter.dev/flutter/widgets/DraggableScrollableSheet-class.html | A container for a Scrollable that responds to drag gestures by resizing the scrollable until a limit is reached, and then scrolling. |
GestureDetector | https://api.flutter.dev/flutter/widgets/GestureDetector-class.html | A widget that detects gestures. Attempts to recognize gestures that correspond to its non-null callbacks. If this widget has a child, it defers to that child for its sizing behavior. If it does not have a child, it grows to fit the parent instead. |
IgnorePointer | https://api.flutter.dev/flutter/widgets/IgnorePointer-class.html | A widget that is invisible during hit testing. When ignoring is true, this widget (and its subtree) is invisible to hit testing. It still consumes space during layout and paints its child as usual. It just cannot be the target of located events, because it returns false from RenderBox.hitTest. |
InteractiveViewer | https://api.flutter.dev/flutter/widgets/InteractiveViewer-class.html | A widget that enables pan and zoom interactions with its child. |
LongPressDraggable | https://api.flutter.dev/flutter/widgets/LongPressDraggable-class.html | Makes its child draggable starting from long press. |
Scrollable | https://api.flutter.dev/flutter/widgets/Scrollable-class.html | Scrollable implements the interaction model for a scrollable widget, including gesture recognition, but does not have an opinion about how the viewport, which actually displays the children, is constructed. |
Routing
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
Hero | https://api.flutter.dev/flutter/widgets/Hero-class.html | A widget that marks its child as being a candidate for hero animations. |
Navigator | https://api.flutter.dev/flutter/widgets/Navigator-class.html | A widget that manages a set of child widgets with a stack discipline. Many apps have a navigator near the top of their widget hierarchy to display their logical history using an Overlay with the most recently visited pages visually on top of the older pages. Using this pattern lets the navigator visually transition from one page to another by moving the widgets around in the overlay. Similarly, the navigator can be used to show a dialog by positioning the dialog widget above the current page. |
Layout
组件名称名字 | 视频URL | 组件英文描述 |
---|
Single-child layout widgets
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
Align | https://api.flutter.dev/flutter/widgets/Align-class.html | A widget that aligns its child within itself and optionally sizes itself based on the child's size. |
AspectRatio | https://api.flutter.dev/flutter/widgets/AspectRatio-class.html | A widget that attempts to size the child to a specific aspect ratio. |
Baseline | https://api.flutter.dev/flutter/widgets/Baseline-class.html | A widget that positions its child according to the child's baseline. |
Center | https://api.flutter.dev/flutter/widgets/Center-class.html | A widget that centers its child within itself. |
ConstrainedBox | https://api.flutter.dev/flutter/widgets/ConstrainedBox-class.html | A widget that imposes additional constraints on its child. |
Container | https://api.flutter.dev/flutter/widgets/Container-class.html | A convenience widget that combines common painting, positioning, and sizing widgets. |
CustomSingleChildLayout | https://api.flutter.dev/flutter/widgets/CustomSingleChildLayout-class.html | A widget that defers the layout of its single child to a delegate. |
Expanded | https://api.flutter.dev/flutter/widgets/Expanded-class.html | A widget that expands a child of a Row, Column, or Flex. |
FittedBox | https://api.flutter.dev/flutter/widgets/FittedBox-class.html | Scales and positions its child within itself according to fit. |
FractionallySizedBox | https://api.flutter.dev/flutter/widgets/FractionallySizedBox-class.html | A widget that sizes its child to a fraction of the total available space. For more details about the layout algorithm, see RenderFractionallySizedOverflowBox. |
IntrinsicHeight | https://api.flutter.dev/flutter/widgets/IntrinsicHeight-class.html | A widget that sizes its child to the child's intrinsic height. |
IntrinsicWidth | https://api.flutter.dev/flutter/widgets/IntrinsicWidth-class.html | A widget that sizes its child to the child's intrinsic width. |
LimitedBox | https://api.flutter.dev/flutter/widgets/LimitedBox-class.html | A box that limits its size only when it's unconstrained. |
Offstage | https://api.flutter.dev/flutter/widgets/Offstage-class.html | A widget that lays the child out as if it was in the tree, but without painting anything, without making the child available for hit testing, and without taking any room in the parent. |
OverflowBox | https://api.flutter.dev/flutter/widgets/OverflowBox-class.html | A widget that imposes different constraints on its child than it gets from its parent, possibly allowing the child to overflow the parent. |
Padding | https://api.flutter.dev/flutter/widgets/Padding-class.html | A widget that insets its child by the given padding. |
SizedBox | https://api.flutter.dev/flutter/widgets/SizedBox-class.html | A box with a specified size. If given a child, this widget forces its child to have a specific width and/or height (assuming values are permitted by this widget's parent). If either the width or height is null, this widget will size itself to match the child's size in that dimension. |
SizedOverflowBox | https://api.flutter.dev/flutter/widgets/SizedOverflowBox-class.html | A widget that is a specific size but passes its original constraints through to its child, which will probably overflow. |
Transform | https://api.flutter.dev/flutter/widgets/Transform-class.html | A widget that applies a transformation before painting its child. |
Multi-child layout widgets
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
Column | https://api.flutter.dev/flutter/widgets/Column-class.html | Layout a list of child widgets in the vertical direction. |
CustomMultiChildLayout | https://api.flutter.dev/flutter/widgets/CustomMultiChildLayout-class.html | A widget that uses a delegate to size and position multiple children. |
Flow | https://api.flutter.dev/flutter/widgets/Flow-class.html | A widget that implements the flow layout algorithm. |
GridView | https://api.flutter.dev/flutter/widgets/GridView-class.html | A grid list consists of a repeated pattern of cells arrayed in a vertical and horizontal layout. The GridView widget implements this component. |
IndexedStack | https://api.flutter.dev/flutter/widgets/IndexedStack-class.html | A Stack that shows a single child from a list of children. |
LayoutBuilder | https://api.flutter.dev/flutter/widgets/LayoutBuilder-class.html | Builds a widget tree that can depend on the parent widget's size. |
ListBody | https://api.flutter.dev/flutter/widgets/ListBody-class.html | A widget that arranges its children sequentially along a given axis, forcing them to the dimension of the parent in the other axis. |
ListView | https://api.flutter.dev/flutter/widgets/ListView-class.html | A scrollable, linear list of widgets. ListView is the most commonly used scrolling widget. It displays its children one after another in the scroll direction. In the cross axis, the children are required to fill the ListView. |
Row | https://api.flutter.dev/flutter/widgets/Row-class.html | Layout a list of child widgets in the horizontal direction. |
Stack | https://api.flutter.dev/flutter/widgets/Stack-class.html | This class is useful if you want to overlap several children in a simple way, for example having some text and an image, overlaid with a gradient and a button attached to the bottom. |
Table | https://api.flutter.dev/flutter/widgets/Table-class.html | A widget that uses the table layout algorithm for its children. |
Wrap | https://api.flutter.dev/flutter/widgets/Wrap-class.html | A widget that displays its children in multiple horizontal or vertical runs. |
Sliver widgets
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
CupertinoSliverNavigationBar | https://api.flutter.dev/flutter/cupertino/CupertinoSliverNavigationBar-class.html | An iOS-styled navigation bar with iOS-11-style large titles using slivers. |
CustomScrollView | https://api.flutter.dev/flutter/widgets/CustomScrollView-class.html | A ScrollView that creates custom scroll effects using slivers. |
SliverAppBar | https://api.flutter.dev/flutter/material/SliverAppBar-class.html | A material design app bar that integrates with a CustomScrollView. |
SliverChildBuilderDelegate | https://api.flutter.dev/flutter/widgets/SliverChildBuilderDelegate-class.html | A delegate that supplies children for slivers using a builder callback. |
SliverChildListDelegate | https://api.flutter.dev/flutter/widgets/SliverChildListDelegate-class.html | A delegate that supplies children for slivers using an explicit list. |
SliverFixedExtentList | https://api.flutter.dev/flutter/widgets/SliverFixedExtentList-class.html | A sliver that places multiple box children with the same main axis extent in a linear array. |
SliverGrid | https://api.flutter.dev/flutter/widgets/SliverGrid-class.html | A sliver that places multiple box children in a two dimensional arrangement. |
SliverList | https://api.flutter.dev/flutter/widgets/SliverList-class.html | A sliver that places multiple box children in a linear array along the main axis. |
SliverPadding | https://api.flutter.dev/flutter/widgets/SliverPadding-class.html | A sliver that applies padding on each side of another sliver. |
SliverPersistentHeader | https://api.flutter.dev/flutter/widgets/SliverPersistentHeader-class.html | A sliver whose size varies when the sliver is scrolled to the edge of the viewport opposite the sliver's GrowthDirection. |
SliverToBoxAdapter | https://api.flutter.dev/flutter/widgets/SliverToBoxAdapter-class.html | A sliver that contains a single box widget. |
Material Components
组件名称名字 | 视频URL | 组件英文描述 |
---|
App structure and navigation
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
Appbar | https://api.flutter.dev/flutter/material/AppBar-class.html | A Material Design app bar. An app bar consists of a toolbar and potentially other widgets, such as a TabBar and a FlexibleSpaceBar. |
BottomNavigationBar | https://api.flutter.dev/flutter/material/BottomNavigationBar-class.html | Bottom navigation bars make it easy to explore and switch between top-level views in a single tap. The BottomNavigationBar widget implements this component. |
Drawer | https://api.flutter.dev/flutter/material/Drawer-class.html | A Material Design panel that slides in horizontally from the edge of a Scaffold to show navigation links in an application. |
MaterialApp | https://api.flutter.dev/flutter/material/MaterialApp-class.html | A convenience widget that wraps a number of widgets that are commonly required for applications implementing Material Design. |
Scaffold | https://api.flutter.dev/flutter/material/Scaffold-class.html | Implements the basic Material Design visual layout structure. This class provides APIs for showing drawers, snack bars, and bottom sheets. |
SliverAppBar | https://api.flutter.dev/flutter/material/SliverAppBar-class.html | A material design app bar that integrates with a CustomScrollView. |
TabBar | https://api.flutter.dev/flutter/material/TabBar-class.html | A Material Design widget that displays a horizontal row of tabs. |
TabBarView | https://api.flutter.dev/flutter/material/TabBarView-class.html | A page view that displays the widget which corresponds to the currently selected tab. Typically used in conjunction with a TabBar. |
TabController | https://api.flutter.dev/flutter/material/TabController-class.html | Coordinates tab selection between a TabBar and a TabBarView. |
TabPageSelector | https://api.flutter.dev/flutter/material/TabPageSelector-class.html | Displays a row of small circular indicators, one per tab. The selected tab's indicator is highlighted. Often used in conjunction with a TabBarView. |
WidgetsApp | https://api.flutter.dev/flutter/widgets/WidgetsApp-class.html | A convenience class that wraps a number of widgets that are commonly required for an application. |
Buttons
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
DropdownButton | https://api.flutter.dev/flutter/material/DropdownButton-class.html | Shows the currently selected item and an arrow that opens a menu for selecting another item. |
ElevatedButton | https://api.flutter.dev/flutter/material/ElevatedButton-class.html | A Material Design elevated button. A filled button whose material elevates when pressed. |
FloatingActionButton | https://api.flutter.dev/flutter/material/FloatingActionButton-class.html | A floating action button is a circular icon button that hovers over content to promote a primary action in the application. Floating action buttons are most commonly used in the Scaffold.floatingActionButton field. |
IconButton | https://api.flutter.dev/flutter/material/IconButton-class.html | An icon button is a picture printed on a Material widget that reacts to touches by filling with color (ink). |
OutlinedButton | https://api.flutter.dev/flutter/material/OutlinedButton-class.html | A Material Design outlined button, essentially a TextButton with an outlined border. |
PopupMenuButton | https://api.flutter.dev/flutter/material/PopupMenuButton-class.html | Displays a menu when pressed and calls onSelected when the menu is dismissed because an item was selected. |
TextButton | https://api.flutter.dev/flutter/material/TextButton-class.html | A Material Design text button. A simple flat button without a border outline. |
Input and selections
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
Checkbox | https://api.flutter.dev/flutter/material/Checkbox-class.html | Checkboxes allow the user to select multiple options from a set. The Checkbox widget implements this component. |
Date & Time Pickers | https://api.flutter.dev/flutter/material/showDatePicker.html | Date pickers use a dialog window to select a single date on mobile. Time pickers use a dialog to select a single time (in the hours:minutes format) on mobile. |
Radio | https://api.flutter.dev/flutter/material/Radio-class.html | Radio buttons allow the user to select one option from a set. Use radio buttons for exclusive selection if you think that the user needs to see all available options side-by-side. |
Slider | https://api.flutter.dev/flutter/material/Slider-class.html | Sliders let users select from a range of values by moving the slider thumb. |
Switch | https://api.flutter.dev/flutter/material/Switch-class.html | On/off switches toggle the state of a single settings option. The Switch widget implements this component. |
TextField | https://api.flutter.dev/flutter/material/TextField-class.html | Touching a text field places the cursor and displays the keyboard. The TextField widget implements this component. |
Dialogs, alerts, and panels
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
AlertDialog | https://api.flutter.dev/flutter/material/AlertDialog-class.html | Alerts are urgent interruptions requiring acknowledgement that inform the user about a situation. The AlertDialog widget implements this component. |
BottomSheet | https://api.flutter.dev/flutter/material/BottomSheet-class.html | Bottom sheets slide up from the bottom of the screen to reveal more content. You can call showBottomSheet() to implement a persistent bottom sheet or showModalBottomSheet() to implement a modal bottom sheet. |
ExpansionPanel | https://api.flutter.dev/flutter/material/ExpansionPanel-class.html | Expansion panels contain creation flows and allow lightweight editing of an element. The ExpansionPanel widget implements this component. |
SimpleDialog | https://api.flutter.dev/flutter/material/SimpleDialog-class.html | Simple dialogs can provide additional details or actions about a list item. For example they can display avatars icons clarifying subtext or orthogonal actions (such as adding an account). |
SnackBar | https://api.flutter.dev/flutter/material/SnackBar-class.html | A lightweight message with an optional action which briefly displays at the bottom of the screen. |
Information displays
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
Card | https://api.flutter.dev/flutter/material/Card-class.html | A Material Design card. A card has slightly rounded corners and a shadow. |
Chip | https://api.flutter.dev/flutter/material/Chip-class.html | A Material Design chip. Chips represent complex entities in small blocks, such as a contact. |
CircularProgressIndicator | https://api.flutter.dev/flutter/material/CircularProgressIndicator-class.html | A material design circular progress indicator, which spins to indicate that the application is busy. |
DataTable | https://api.flutter.dev/flutter/material/DataTable-class.html | Data tables display sets of raw data. They usually appear in desktop enterprise products. The DataTable widget implements this component. |
GridView | https://api.flutter.dev/flutter/widgets/GridView-class.html | A grid list consists of a repeated pattern of cells arrayed in a vertical and horizontal layout. The GridView widget implements this component. |
Icon | https://api.flutter.dev/flutter/widgets/Icon-class.html | A Material Design icon. |
Image | https://api.flutter.dev/flutter/widgets/Image-class.html | A widget that displays an image. |
LinearProgressIndicator | https://api.flutter.dev/flutter/material/LinearProgressIndicator-class.html | A material design linear progress indicator, also known as a progress bar. |
Tooltip | https://api.flutter.dev/flutter/material/Tooltip-class.html | Tooltips provide text labels that help explain the function of a button or other user interface action. Wrap the button in a Tooltip widget to show a label when the widget long pressed (or when the user takes some other appropriate action). |
Layout
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
Divider | https://api.flutter.dev/flutter/material/Divider-class.html | A one logical pixel thick horizontal line, with padding on either side. |
ListTile | https://api.flutter.dev/flutter/material/ListTile-class.html | A single fixed-height row that typically contains some text as well as a leading or trailing icon. |
Stepper | https://api.flutter.dev/flutter/material/Stepper-class.html | A Material Design stepper widget that displays progress through a sequence of steps. |
Painting and effects
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
BackdropFilter | https://api.flutter.dev/flutter/widgets/BackdropFilter-class.html | A widget that applies a filter to the existing painted content and then paints a child. This effect is relatively expensive, especially if the filter is non-local, such as a blur. |
ClipOval | https://api.flutter.dev/flutter/widgets/ClipOval-class.html | A widget that clips its child using an oval. |
ClipPath | https://api.flutter.dev/flutter/widgets/ClipPath-class.html | A widget that clips its child using a path. |
ClipRect | https://api.flutter.dev/flutter/widgets/ClipRect-class.html | A widget that clips its child using a rectangle. |
CustomPaint | https://api.flutter.dev/flutter/widgets/CustomPaint-class.html | A widget that provides a canvas on which to draw during the paint phase. |
DecoratedBox | https://api.flutter.dev/flutter/widgets/DecoratedBox-class.html | A widget that paints a Decoration either before or after its child paints. |
FractionalTranslation | https://api.flutter.dev/flutter/widgets/FractionalTranslation-class.html | A widget that applies a translation expressed as a fraction of the box's size before painting its child. |
Opacity | https://api.flutter.dev/flutter/widgets/Opacity-class.html | A widget that makes its child partially transparent. |
RotatedBox | https://api.flutter.dev/flutter/widgets/RotatedBox-class.html | A widget that rotates its child by a integral number of quarter turns. |
Transform | https://api.flutter.dev/flutter/widgets/Transform-class.html | A widget that applies a transformation before painting its child. |
Scrolling
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
CustomScrollView | https://api.flutter.dev/flutter/widgets/CustomScrollView-class.html | A ScrollView that creates custom scroll effects using slivers. |
DraggableScrollableSheet | https://api.flutter.dev/flutter/widgets/DraggableScrollableSheet-class.html | A container for a Scrollable that responds to drag gestures by resizing the scrollable until a limit is reached, and then scrolling. |
GridView | https://api.flutter.dev/flutter/widgets/GridView-class.html | A grid list consists of a repeated pattern of cells arrayed in a vertical and horizontal layout. The GridView widget implements this component. |
ListView | https://api.flutter.dev/flutter/widgets/ListView-class.html | A scrollable, linear list of widgets. ListView is the most commonly used scrolling widget. It displays its children one after another in the scroll direction. In the cross axis, the children are required to fill the ListView. |
NestedScrollView | https://api.flutter.dev/flutter/widgets/NestedScrollView-class.html | A scrolling view inside of which can be nested other scrolling views, with their scroll positions being intrinsically linked. |
NotificationListener | https://api.flutter.dev/flutter/widgets/NotificationListener-class.html | A widget that listens for Notifications bubbling up the tree. |
PageView | https://api.flutter.dev/flutter/widgets/PageView-class.html | A scrollable list that works page by page. |
RefreshIndicator | https://api.flutter.dev/flutter/material/RefreshIndicator-class.html | A Material Design pull-to-refresh wrapper for scrollables. |
ReorderableListView | https://api.flutter.dev/flutter/material/ReorderableListView-class.html | A list whose items the user can interactively reorder by dragging. |
ScrollConfiguration | https://api.flutter.dev/flutter/widgets/ScrollConfiguration-class.html | Controls how Scrollable widgets behave in a subtree. |
Scrollable | https://api.flutter.dev/flutter/widgets/Scrollable-class.html | Scrollable implements the interaction model for a scrollable widget, including gesture recognition, but does not have an opinion about how the viewport, which actually displays the children, is constructed. |
Scrollbar | https://api.flutter.dev/flutter/material/Scrollbar-class.html | A Material Design scrollbar. A scrollbar indicates which portion of a Scrollable widget is actually visible. |
SingleChildScrollView | https://api.flutter.dev/flutter/widgets/SingleChildScrollView-class.html | A box in which a single widget can be scrolled. This widget is useful when you have a single box that will normally be entirely visible, for example a clock face in a time picker, but you need to make sure it can be scrolled if the container gets too small in one axis (the scroll direction). |
Styling
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
MediaQuery | https://api.flutter.dev/flutter/widgets/MediaQuery-class.html | Establishes a subtree in which media queries resolve to the given data. |
Padding | https://api.flutter.dev/flutter/widgets/Padding-class.html | A widget that insets its child by the given padding. |
Theme | https://api.flutter.dev/flutter/material/Theme-class.html | Applies a theme to descendant widgets. A theme describes the colors and typographic choices of an application. |
Text
组件名称名字 | 视频URL | 组件英文描述 |
---|---|---|
DefaultTextStyle | https://api.flutter.dev/flutter/widgets/DefaultTextStyle-class.html | The text style to apply to descendant Text widgets without explicit style. |
RichText | https://api.flutter.dev/flutter/widgets/RichText-class.html | The RichText widget displays text that uses multiple different styles. The text to display is described using a tree of TextSpan objects, each of which has an associated style that is used for that subtree. The text might break across multiple lines or might all be displayed on the same line depending on the layout constraints. |
Text | https://api.flutter.dev/flutter/widgets/Text-class.html | A run of text with a single style. |