1. Accessibility
    1. 提升應用程序的可訪問性,使得有視覺或聽覺障礙的用戶也能夠更容易地使用你的應用
      1. Semantics
        1. 幫助屏幕閱讀器了解應用程序的結構和內容
      2. ExcludeSemantics
        1. 使用這個 widget 來設置不需要被屏幕閱讀器讀取的內容
      3. MergeSemantics
        1. 將多個 widget 的信息合併為一個
  2. Animation and motion
    1. 增添動畫效果
      1. AnimatedAlign
      2. AnimatedBuilder
      3. AnimatedContainer
      4. AnimatedCrossFade
      5. AnimatedDefaultTextStyle
      6. AnimatedList
      7. AnimatedListState
      8. AnimatedModalBarrier
      9. AnimatedOpacity
      10. AnimatedPhysicalModel
      11. AnimatedPositioned
      12. AnimatedSize
      13. AnimatedWidget
      14. ImplicilyAnimatedWidget
      15. DecoratedBoxTransition
      16. FadeTransition
      17. Hero
      18. PositionedTransition
      19. RotationTransition
      20. ScaleTransition
      21. SizeTransition
      22. SlideTransition
  3. Assets, images, and icons
    1. 在應用中顯示圖像和圖標
      1. AssetBundle
        1. 靜態文件,例如圖片、字體、圖標等
      2. Icon
        1. 顯示圖標
      3. Image
        1. 顯示圖像
      4. RawImage
        1. 顯示內存中直接提供圖像的位圖數據
  4. Async
    1. 處理和顯示異步數據
      1. FutureBuilder
        1. 最常用的,構建異步數據處理 widgets
      2. StreamBuilder
        1. 用來處理例如持續更新的數據源
  5. Basic
    1. 基礎 widget,構成基礎結構和交互元素
      1. Text
        1. 顯示文本。可設定樣式、對齊方式等屬性。
      2. Row
        1. 水平方向上佈局 child widget
      3. Column
        1. 垂直方向上佈局 child widget
      4. Container
        1. 設置佈局、填充、邊距、背景色等
      5. Scaffold
        1. Material Design 的佈局結構,包含應用欄、抽屜菜單和底部導航欄等。
      6. AppBar
        1. 應用欄,一般用於顯示應用的標題和操作按鈕
      7. Icon
        1. 顯示圖標
      8. ElevatedButton
        1. 帶有陰影效果的凸起按鈕
      9. FlutterLogo
        1. 顯示 Flutter 標誌
      10. Image
        1. 顯示圖像
      11. Placeholder
        1. 一個灰色的方框,在開發過程中用來占位或測試佈局
  6. Cupertino (iOS-style widgets)
    1. 模擬 iOS 風格的 widgets
      1. CupertinoActionSheet
      2. CupertinoActionSheetAction
      3. CupertinoActivityIndicator
      4. CupertinoAdaptiveTextSelectionToolbar
      5. CupertinoAlertDialog
      6. CupertinoApp
      7. CupertinoButton
      8. CupertinoCheckBox
      9. CupertinoColors
      10. CupertinoContextMenu
      11. CupertinoContextMenuAction
      12. CupertinoDatePicker
      13. CupertinoDesktopTextSelectionControls
      14. CupertinoDesktopTextselectionToolbar
      15. CupertinoDialogAction
      16. CupertinoDialogRoute
      17. CupertinoDynamicColor
      18. CupertinoFormRow
      19. CupertinoFormSelection
      20. CupertinoFullscreenDialogTransition
      21. CupertinoThemeData
      22. CupertinoListSection
      23. CupertinoListTile
      24. CupertinoTileChevron
      25. CupertinoLocalizations
      26. CupertinoMagnifier
      27. CupertinoModalPopupRoute
      28. CupertinoNavigationBar
      29. CupertinoNavigationBarBackButton
      30. CupertinoPage
      31. CupertinoPageRoute
      32. CupertinoPageScaffold
      33. CupertinoPageTransition
      34. CupertinoPicker
      35. CupertinoPickerDafualtSelectionOverlay
      36. CupertinoPopupSurface
      37. CupertinoRadio
      38. CupertinoScrollbar
      39. CupertinoScrollBehavior
      40. CupertinoSearchTextField
      41. CupertinoSegmentedControl
      42. CupertinoSlider
      43. CupertinoSliderSegmentedControl
      44. CupertinoSliverNavigationBar
      45. CupertinoSliverRefreshControl
      46. CupertinoSpellCheckSuggestionsToolbar
      47. CuppertinoTabBar
      48. CupertinoTabController
      49. CupertinoTabScaffold
      50. CupertinoTabView
      51. CupertinoTextField
      52. CupertinoTextFormFieldRow
      53. CupertinoTextMagnifier
      54. CupertinoTextSelectionControls
      55. CupertinoTextSelectoinToolbar
      56. CupertinoTextSelectionToolbarButton
      57. CupertinoTextThememData
      58. CupertinoTheme
      59. CupertinoThemeData
      60. CupertinoThumbPainter
      61. CupertinoTimerPicker
  7. Input
    1. 處理用戶輸入和表單數據
      1. Autocomplete
        1. 顯示一個建議列表提供自動補全功能
      2. Form
        1. 用於組織和管理多個 FormFields 的容器
      3. FormField
        1. 包含輸入控件(如 TextField)及其驗證和狀態管理邏輯
      4. KeyboardListener
        1. 監聽鍵盤事件,例如按鍵按下、釋放等
  8. Interaction models
    1. 處理用戶交互事件,包括管理和響應用戶操作
      1. Touch Interactions
        1. AbsorbPointer
          1. 阻止其child widget 接收觸摸事件
        2. Dismissible
          1. 創建可滑動的列表項。用戶可以通過滑動來刪除或更改項目。
        3. DragTarget
          1. 接收拖放操作中的拖動數據
        4. Draggable
          1. 允許 widget 被拖動
        5. DraggableScrollableSheet
          1. 創建一個可以拖動和滾動的底部工作表
        6. GestureDetector
          1. 用於檢測和處理手勢,如點擊、長按、拖動等
        7. IgnorePointer
          1. 與 AbsorbPointer 類似,但它只是忽略觸摸事件,而不會阻止child widget 的相應。
        8. InteractioveViewer
          1. 允許用戶縮放和拖動其child widget
        9. LongPressDraggable
          1. 允許用戶在長按時拖動 widget
        10. Scrollable
          1. 處理滾動
      2. Routing
        1. Hero
          1. 不同頁面之間創建動畫過渡效果
        2. Navigator
          1. 管理應用中的頁面堆疊,如 push 和 pop 等操作
  9. Layout
    1. 佈局,如何安排和顯示 widget 以構建界面
      1. Single-child layout
        1. Aligh
          1. 用於將child widget 在其父 widget 中對齊
        2. AspectRatio
          1. 使其child widget 具有指定的寬高比
        3. Baseline
          1. 用於對齊child widget 的基線
        4. Center
          1. 將其child widget 放置在父 widget 的中心
        5. ConstrainedBox
          1. 對child widget 應用額外的約束,如最大和最小尺寸
        6. Container
          1. 用於添加填充、邊框、顏色、尺寸等
        7. CustomSingleChildLayout
          1. 自定義單個child widget 的佈局邏輯
        8. Expanded
          1. 用於擴展child widget 以填充可用的空間,通常與 Row 或 Column 一起使用
        9. FittedBox
          1. 將其child widget 按指定的比例縮放以適應其父 widget
        10. FractionallySizedBox
          1. 將其child widget 按父 widget 的比例縮放
        11. IntrinsicHeight
          1. 確保其child widget 的高度為內部內容的最小高度
        12. IntrinsicWidth
          1. 確保其child widget 的寬度為內部內容的最小寬度
        13. LimitedBox
          1. 用於設置child widget 的最大尺寸,當其父 widget 的尺寸是無限大的時候特別有用。
        14. Offstage
          1. 將其child widget 隱藏,但仍然保留其佔用的空間
        15. Padding
          1. 為child widget 添加內邊距
        16. SizeBox
          1. 用於指定child widget 的固定尺寸
        17. OverflowBox
          1. 允許child widget 擴展超出其父 widget 的邊界
        18. SizeOverflowBox
          1. 是 OverflowBox 的一個特化版本,用於處理尺寸溢出
        19. Transform
          1. 用於對其child widget 應用變換,如旋轉、縮放或平移
      2. Multi-child layout
        1. Column
          1. 將child widget 垂直排列
        2. CustomMultiChildLayout
          1. 自定義多個child widget 的佈局邏輯
        3. Flow
          1. 將child widget 按自定義方式流動,適用於需要複雜佈局的情況
        4. GridView
          1. 顯示多列多行的網格布局
        5. IndexedStack
          1. 顯示堆疊中的指定索引的child widget,其他child widget 隱藏
        6. LayoutBuilder
          1. 允許根據父 widget 的尺寸動態構建其child widget
        7. ListBody
          1. 用於垂直或水平排列其child widget
        8. ListView
          1. 顯示垂直或水平滾動的列表,適合處理動態數據列表
        9. Row
          1. 將child widget 水平排列
        10. Stack
          1. 將child widget 疊加在一起。Stack 的child widget 可以定位在特定位置
        11. Table
          1. 顯示表格佈局,行和列可以包含多個child widget
        12. Wrap
          1. 將child widget 按行或列包裝排列,當空間不足時自動換行
      3. Sliver
        1. 用於構建高效滾動的視圖,通常與 CustomScrollView 一起使用
          1. CupertinoSlicerNacigationBar
          2. 可隨滾動效果調整高度的頂部導航列
          3. CupertinoSliverRefreshControl
          4. 下拉刷新控件
          5. CustomScrollView
          6. 創建自定義的滾動視圖,可以包含多個 sliver
          7. SlicerAppBar
          8. 隨滾動效果變化的應用欄,通常用於創建隨滾動收縮的標題區域
          9. SlicerChildBuilderDelegate
          10. 用於懶加載列表子項。與 SliverList 和 SliverGrid 一起使用
          11. SliverList
          12. 創建滾動列表視圖
          13. SliverGrid
          14. 創建滾動網格視圖
          15. SliverChildListDelegate
          16. 用於靜態子項列表
          17. SlicerFixedExtentList
          18. 用於創建固定高度的滾動列表
          19. SliverPadding
          20. 在其他 sliver 周圍添加填充
          21. SliverPersistentHeader
          22. 創建持久的標題區域,通常用於固定標題
          23. SliverToBoxAdapter
          24. 將常規 widget 包裝為 sliver
  10. Material components
    1. 基於 Google 的 Material Design 規範構建的 UI 元件
      1. Action
        1. Common buttons
          1. ElevatedButton
          2. 帶有陰影和浮動效果的按鈕,適合用於突出主要操作
          3. FilledButton
          4. 完全填充的按鈕,提供更強的視覺突出效果
          5. FilledButton.tonal
          6. 色調較低的填充按鈕,相比於 FilledButton,視覺效果較為柔和
          7. OutlinedButton
          8. 帶有邊框的按鈕,但沒有填充背景。它適合用於次要操作
          9. TextButton
          10. 無邊框無背景的按鈕,最為簡單。通常用於工具欄或對話框中的次要操作
        2. FloatingActionButtin
          1. 用於主要操作,通常位於屏幕右下角
          2. Small
          3. Regular
          4. Large
          5. Extended
          6. 延伸的浮動操作按鈕,帶有文本標籤
        3. IconButton
          1. 僅包含圖標的按鈕
        4. SegmentedButton
          1. 一組按鈕顯示多個選項
      2. Communication
        1. Badge
          1. 顯示小徽章,例如通知數量
        2. LinearProgressIndicator
          1. 線性進度指示器
        3. SnackBar
          1. 短暫的消息提示,通常顯示在屏幕底部
      3. Containment
        1. AlertDialog
          1. 彈出對話框,用於重要信息或確認操作
        2. Bottom sheet
          1. 從屏幕底部滑入的面板
        3. Card
          1. 容器,具有圓角和陰影
        4. Divider
          1. 用於分隔列表項的線條
        5. ListTile
          1. 列表中的單個項目,通常包含圖標和文本
      4. Navigation
        1. AppBar
          1. 應用欄,顯示應用名稱和操作
        2. Bottom app bar
          1. 底部應用欄,通常與 FloatingActionButton 一起使用
        3. NavigationBar
          1. 底部用於不同頁面導航
        4. NavigationDrawer
          1. 側邊導航欄,可以從屏幕邊緣滑入,顯示應用的不同頁面或功能
        5. Navigation rail
          1. 固定的側邊導航面板,用於在應用的主要部分之間導航
        6. TabBar
          1. 用於顯示標籤,通常與 TabBarView 一起使用
      5. Selection
        1. Checkbox
          1. 勾選框,用於表示二選一選項
        2. Chip
          1. 顯示屬性、標籤或簡短的描述,通常用於可選的標籤或進行過濾操作
        3. DatePicker
          1. 日期選擇器
        4. TimePicker
          1. 時間選擇器
        5. Menu
          1. 彈出菜單,用於顯示多個選項
        6. Radio
          1. 單選按鈕,用於多個互斥選項
        7. Slider
          1. 滑塊,用於選擇範圍內的值
        8. Switch
          1. 開關,用於表示開啟或關閉狀態
      6. Text inputs
        1. TextField
          1. 文本輸入欄位
  11. Paitnig and effects
    1. 自訂繪圖和應用視覺效果
      1. BackgropFilter
        1. 應用背景模糊或其他效果
      2. ClipOval
        1. 將child widget剪裁為橢圓形
      3. ClipPath
        1. 使用自定義的路徑來剪裁child widget
      4. ClipRect
        1. 將child widget剪裁為矩形
      5. CustonPaint
        1. 繪製圖形和其他自定義繪圖
      6. DecoratedBox
        1. 將裝飾應用於child widget
      7. FractionalTranslation
        1. 按照相對於自身大小的比例來平移child widget
      8. Opacity
        1. 調整child widget的不透明度
      9. RotatedBox
        1. 按 90 度的增量旋轉child widget
      10. Transform
        1. 應用 2D 變換,例如旋轉、縮放和平移
  12. Scrolling
    1. 用於顯示可滾動的內容
      1. CustonScrollView
        1. 自定義滾動視圖,可以創建複雜的滾動效果,包含不同類型的滾動內容
      2. DraggableScrollableSheet
        1. 可拖動的滾動表單,可用於創建部分屏幕顯示的滾動表單
      3. GridView
        1. 顯示網格佈局的滾動視圖
      4. ListView
        1. 顯示線性佈局的滾動視圖
      5. NestedScrollView
        1. 內嵌滾動視圖,允許創建嵌套滾動效果
      6. NotificationListener
        1. 監聽滾動通知的 widget,可用於檢測滾動事件
      7. PageView
        1. 顯示可以水平或垂直滾動的頁面視圖
      8. RefreshIndicator
        1. 包裹滾動視圖以添加下拉刷新功能
      9. ReorderableListView
        1. 支持拖放重新排序的滾動列表
      10. ScrollConfiguration
        1. 用於自定義滾動行為(控制滾動效果、物理效果)和視圖的全局配置
      11. Scrollable
        1. 自定義可滾動區域的低級別 widget
      12. Scrollbar
        1. 顯示滾動條,讓用戶更容易看到可滾動內容
      13. SingleChildScrollView
        1. 創建單個child widget的滾動視圖,適合於內容少、只需垂直或水平滾動的單個 widget
  13. Styling
    1. 處理應用程式中的佈局、樣式和整體外觀設定
      1. MediaQuery
        1. 提供有關設備屏幕大小、方向、顯示密度等信息。通常用於響應式設計中,根據不同設備調整 UI
      2. Padding
        1. 在child widget周圍添加內邊距
      3. Theme
        1. 配置應用的整體外觀和感覺。可以定義應用中的顏色、字體、形狀等
  14. Text
    1. 用於顯示和格式化文本的基本組件
      1. DefaultTextStyle
        1. 設定其child widget 的默認文本樣式。所有child widget 都會繼承這個文本樣式
      2. RichText
        1. 顯示具有不同樣式的多段文本
      3. Text
        1. 顯示簡單的單一樣式文本。它是最常用的文本 widget