Widgets劃分
按狀態(tài):
- StatelessWidget(有Widget build)
- StatefulWidget(返回一個新建的State)
- State(操作狀態(tài)掏秩,Widget build來渲染StatefulWidget里獲取的內(nèi)容)
按內(nèi)容
1. 基礎(chǔ) Widgets
2.Material Components Widgets
3. Cupertino (iOS風(fēng)格) Widgets
4. 布局Widgets
4.1 擁有單個子元素的布局widget
Container: 一個擁有繪制、定位印荔、調(diào)整大小的 widget攻询。
Padding: 一個widget, 會給其子widget添加指定的填充
Center: 將其子widget居中顯示在自身內(nèi)部的widget
Align: 一個widget从撼,它可以將其子widget對齊,并可以根據(jù)子widget的大小自動調(diào)整大小钧栖。
FittedBox: 按自己的大小調(diào)整其子widget的大小和位置低零。
AspectRatio: 一個widget,試圖將子widget的大小指定為某個特定**的長寬比
ConstrainedBox: 對其子項施加附加約束的widget
Baseline: 根據(jù)子項的基線對它們的位置進(jìn)行定位的widget拯杠。
FractionallySizedBox: 一個widget掏婶,它把它的子項放在可用空間的一小部分。關(guān)于布局算法的更多細(xì)節(jié)潭陪,見RenderFractionallySizedOverflowBox
IntrinsicHeight: 一個widget气堕,它將它的子widget的高度調(diào)整其本身實際的高度
IntrinsicWidth:一個widget,它將它的子widget的寬度調(diào)整其本身實際的寬度
LimitedBox: 一個當(dāng)其自身不受約束時才限制其大小的盒子
Offstage:一個布局widget畔咧,可以控制其子widget的顯示和隱藏茎芭。
OverflowBox: 對其子項施加不同約束的widget,它可能允許子項溢出父級誓沸。
SizedBox: 一個特定大小的盒子梅桩。這個widget強制它的孩子有一個特定的寬度和高度。如果寬度或高度為NULL拜隧,則此widget將調(diào)整自身大小以匹配該維度中的孩子的大小宿百。
SizedOverflowBox: 一個特定大小的widget,但是會將它的原始約束傳遞給它的孩子洪添,它可能會溢出垦页。
Transform: 在繪制子widget之前應(yīng)用轉(zhuǎn)換的widget。
CustomSingleChildLayout: 一個自定義的擁有單個子widget的布局widget
4.2 擁有多個子元素的布局widget
Row: 在水平方向上排列子widget的列表干奢。
Column: 在垂直方向上排列子widget的列表痊焊。
Stack: 可以允許其子widget簡單的堆疊在一起
IndexedStack: 從一個子widget列表中顯示單個孩子的Stack
Flow: 一個實現(xiàn)流式布局算法的widget
Table: 為其子widget使用表格布局算法的widget
Wrap: 可以在水平或垂直方向多行顯示其子widget。
ListBody: 一個widget,它沿著一個給定的軸薄啥,順序排列它的子元素
ListView: 可滾動的列表控件辕羽。ListView是最常用的滾動widget,它在滾動方向上一個接一個地顯示它的孩子垄惧。在縱軸上刁愿,孩子們被要求填充ListView。
CustomMultiChildLayout: 使用一個委托來對多個孩子進(jìn)行設(shè)置大小和定位的小部件
4.3 Layout helpers
LayoutBuilder: 構(gòu)建一個可以依賴父窗口大小的widget樹到逊。
5. 其它控件
文本: Text铣口、RichText、DefaultTextStyle
資源: Image觉壶、Icon脑题、RawImage、AssetBundle
表單: Form掰曾、FormField、RawKeyboardListener
動畫和Motion: 略
交互模型: LongPressDraggable停团、GestureDetector旷坦、DragTarget、Dismissible佑稠、IgnorePointer秒梅、AbsorbPointer、Navigator舌胶、Scrollable
樣式: Padding捆蜀、Theme、MediaQuery
繪制和視覺效果: Opacity幔嫂、Transform辆它、DecoratedBox、FractionalTranslation履恩、RotatedBox锰茉、ClipOval、ClipPath切心、ClipRect飒筑、CustomPaint、BackdropFilter
異步: FutureBuilder绽昏、StreamBuilder
可滾動: ListView协屡、NestedScrollView、GridView全谤、SingleChildScrollView肤晓、Scrollable、Scrollbar、CustomScrollView材原、NotificationListener沸久、ScrollConfiguration、RefreshIndicator
輔助功能: 略