做自(zì)由與創造的先行者

Flutter Widget目錄

Flutter開(kāi)發手冊

使用(yòng)Flutter的一套的視(shì)覺、結構、平台、和(hé)交互式的widgets,快(kuài)速創建漂亮(liàng)的APP.

除了(le)按類别浏覽widget外(wài),您還可以在Flutter widget 索引浏覽Flutter中的所有widgets。

基礎 Widgets

Container:一個擁有繪制、定位、調整大(dà)小(xiǎo)的 widget

Row:在水(shuǐ)平方向上(shàng)排列子widget的列表

Column:在垂直方向上(shàng)排列子widget的列表

Image:一個顯示圖片的widget

Text:單一格式的文(wén)本

Icon:A Material Design icon.

RaisedButton:Material Design中的button, 一個凸起的材質矩形按鈕

Scaffold:Material Design布局結構的基本實現(xiàn)。此類提供了(le)用(yòng)于顯示drawer、snackbar和(hé)底部sheet的API

Appbar:一個Material Design應用(yòng)程序欄,由工(gōng)具欄和(hé)其他(tā)可能(néng)的widget(如TabBar和(hé)FlexibleSpaceBar)組成

FlutterLogo:Flutter logo, 以widget形式. 這(zhè)個widget遵從(cóng)IconTheme。

Placeholder:一個繪制了(le)一個盒子的的widget,代表日後有widget将會(huì)被添加到(dào)該盒子中

Material Components Widgets

App結構和(hé)導航

Scaffold:Material Design布局結構的基本實現(xiàn)。此類提供了(le)用(yòng)于顯示drawer、snackbar和(hé)底部sheet的API。

Appbar:一個Material Design應用(yòng)程序欄,由工(gōng)具欄和(hé)其他(tā)可能(néng)的widget(如TabBar和(hé)FlexibleSpaceBar)組成。

ButtomNavigationBar:底部導航條,可以很(hěn)容易地在tap之間切換和(hé)浏覽頂級視(shì)圖。

TabBar:一個顯示水(shuǐ)平選項卡的Material Design widget。

TabBarView:顯示與當前選中的選項卡相對(duì)應的頁面視(shì)圖。通常和(hé)TabBar一起使用(yòng)。

MaterialApp:一個方便的widget,它封裝了(le)應用(yòng)程序實現(xiàn)Material Design所需要的一些(xiē)widget。

WidgetsApp:一個方便的類,它封裝了(le)應用(yòng)程序通常需要的一些(xiē)widget。

Drawer:從(cóng)Scaffold邊緣水(shuǐ)平滑動以顯示應用(yòng)程序中導航鏈接的Material Design面闆

按鈕

RaisedButton:Material Design中的button, 一個凸起的材質矩形按鈕

FloatingActionButton:一個圓形圖标按鈕,它懸停在内容之上(shàng),以展示應用(yòng)程序中的主要動作(zuò)。FloatingActionButton通常用(yòng)于Scaffold.floatingActionButton字段。

FlatButton:一個扁平的Material按鈕

IconButton:一個Material圖标按鈕,點擊時(shí)會(huì)有水(shuǐ)波動畫(huà)

PopupMenuButton:當菜單隐藏式,點擊或調用(yòng)onSelected時(shí)顯示一個彈出式菜單列表

ButtonBar:水(shuǐ)平排列的按鈕組

輸入框和(hé)選擇框

TextField:文(wén)本輸入框

Checkbox:複選框,允許用(yòng)戶從(cóng)一組中選擇多個選項

Radio:單選框,允許用(yòng)戶從(cóng)一組中選擇一個選項。

Switch:On/off 用(yòng)于切換一個單一狀态

Slider:滑塊,允許用(yòng)戶通過滑動滑塊來(lái)從(cóng)一系列值中選擇。

Date & Time Pickers:日期&時(shí)間選擇器

對(duì)話(huà)框、Alert、Panel

SimpleDialog:簡單對(duì)話(huà)框可以顯示附加的提示或操作(zuò)

AlertDialog:一個會(huì)中斷用(yòng)戶操作(zuò)的對(duì)話(huà)款,需要用(yòng)戶确認

BottomSheet:一個從(cóng)屏幕底部滑起的列表(以顯示更多的内容)。你(nǐ)可以調用(yòng)showBottomSheet()或showModalBottomSheet彈出

ExpansionPanel:Expansion panels contain creation flows and allow lightweight editing of an element. The ExpansionPanel widget implements this component.

SnackBar:具有可選操作(zuò)的輕量級消息提示,在屏幕的底部顯示。

信息展示

Image:一個顯示圖片的widget

Icon:A Material Design icon.

Chip:标簽,一個Material widget。 它可以将一個複雜(zá)内容實體展現(xiàn)在一個小(xiǎo)塊中,如聯系人。

Tooltip:一個文(wén)本提示工(gōng)具,幫助解釋一個按鈕或其他(tā)用(yòng)戶界面,當widget長時(shí)間按下(xià)時(shí)(當用(yòng)戶采取其他(tā)适當操作(zuò)時(shí))顯示一個提示标簽。‘

DataTable:數據表顯示原始數據集。它們通常出現(xiàn)在桌面企業産品中。DataTable Widget實現(xiàn)這(zhè)個組件

Card:一個 Material Design 卡片。擁有一個圓角和(hé)陰影

LinearProgressIndicator:一個線性進度條,另外(wài)還有一個圓形進度條CircularProgressIndicator

布局

ListTile:一個固定高(gāo)度的行,通常包含一些(xiē)文(wén)本,以及一個行前或行尾圖标

Stepper:一個Material Design 步驟指示器,顯示一系列步驟的過程

Divider:一個邏輯1像素厚的水(shuǐ)平分割線,兩邊都有填充

Cupertino(iOS風(fēng)格的widget)

CupertinoActivityIndicator:一個iOS風(fēng)格的loading指示器。顯示一個圓形的轉圈菊花(huā)

CupertinoAlertDialog:iOS風(fēng)格的alert dialog

CupertinoButton:iOS風(fēng)格的button

CupertinoDialog:iOS風(fēng)格的對(duì)話(huà)框

CupertinoDialogAction:通常用(yòng)于CupertinoAlertDialog的一個button

CupertinoSlider:從(cóng)一個範圍中選一個值

CupertinoSwitch:iOS風(fēng)格的開(kāi)關. 用(yòng)于單一狀态的開(kāi)/關

CupertinoPageTransition:提供iOS風(fēng)格的頁面過度動畫(huà)

CupertinoFullscreenDialogTransition:一個iOS風(fēng)格的過渡,用(yòng)于調用(yòng)全屏對(duì)話(huà)框

CupertinoNavigationBar:iOS風(fēng)格的導航欄. 通常和(hé)CupertinoPageScaffold一起使用(yòng)

CupertinoTabBar:iOS風(fēng)格的底部選項卡。 通常和(hé)CupertinoTabScaffold一起使用(yòng)

CupertinoPageScaffold:一個iOS風(fēng)格的頁面的基本布局結構。包含内容和(hé)導航欄

CupertinoTabScaffold:标簽式iOS應用(yòng)程序的結構。将選項卡欄放(fàng)在内容選項卡之上(shàng)

CupertinoTabView:支持選項卡間并行導航項卡的根内容。通常與CupertinoTabScaffolde一起使用(yòng)

Layout

擁有單個子元素的布局widget

Container:一個擁有繪制、定位、調整大(dà)小(xiǎo)的 widget

Padding:一個widget, 會(huì)給其子widget添加指定的填充

Center:将其子widget居中顯示在自(zì)身内部的widget

Align:一個widget,它可以将其子widget對(duì)齊,并可以根據子widget的大(dà)小(xiǎo)自(zì)動調整大(dà)小(xiǎo)

FittedBox:按自(zì)己的大(dà)小(xiǎo)調整其子widget的大(dà)小(xiǎo)和(hé)位置

AspectRatio:一個widget,試圖将子widget的大(dà)小(xiǎo)指定爲某個特定的長寬比

ConstrainedBox:對(duì)其子項施加附加約束的widget

Baseline:根據子項的基線對(duì)它們的位置進行定位的widget

FractionallySizedBox:一個widget,它把它的子項放(fàng)在可用(yòng)空(kōng)間的一小(xiǎo)部分。關于布局算(suàn)法的更多細節,見RenderFractionallySizedOverflowBox

IntrinsicHeight:一個widget,它将它的子widget的高(gāo)度調整其本身實際的高(gāo)度

IntrinsicWidth:一個widget,它将它的子widget的寬度調整其本身實際的寬度

LimitedBox:一個當其自(zì)身不受約束時(shí)才限制其大(dà)小(xiǎo)的盒子

Offstage:一個布局widget,可以控制其子widget的顯示和(hé)隐藏

OverflowBox:對(duì)其子項施加不同約束的widget,它可能(néng)允許子項溢出父級

SizedBox:一個特定大(dà)小(xiǎo)的盒子。這(zhè)個widget強制它的孩子有一個特定的寬度和(hé)高(gāo)度。如果寬度或高(gāo)度爲NULL,則此widget将調整自(zì)身大(dà)小(xiǎo)以匹配該維度中的孩子的大(dà)小(xiǎo)

SizedOverflowBox:一個特定大(dà)小(xiǎo)的widget,但(dàn)是會(huì)将它的原始約束傳遞給它的孩子,它可能(néng)會(huì)溢出

Transform:在繪制子widget之前應用(yòng)轉換的widget

CustomSingleChildLayout:一個自(zì)定義的擁有單個子widget的布局widget

擁有多個子元素的布局widget

Row:在水(shuǐ)平方向上(shàng)排列子widget的列表

Column:在垂直方向上(shàng)排列子widget的列表

Stack:可以允許其子widget簡單的堆疊在一起

IndexedStack:從(cóng)一個子widget列表中顯示單個孩子的Stack

Flow:一個實現(xiàn)流式布局算(suàn)法的widget

Table:爲其子widget使用(yòng)表格布局算(suàn)法的widget

Wrap:可以在水(shuǐ)平或垂直方向多行顯示其子widget

ListBody:一個widget,它沿着一個給定的軸,順序排列它的子元素

ListView:可滾動的列表控件。ListView是最常用(yòng)的滾動widget,它在滾動方向上(shàng)一個接一個地顯示它的孩子。在縱軸上(shàng),孩子們被要求填充ListView

CustomMultiChildLayout:使用(yòng)一個委托來(lái)對(duì)多個孩子進行設置大(dà)小(xiǎo)和(hé)定位的小(xiǎo)部件

Layout helpers

LayoutBuilder:構建一個可以依賴父窗口大(dà)小(xiǎo)的widget樹

網站(zhàn)建設開(kāi)發|APP設計(jì)開(kāi)發|小(xiǎo)程序建設開(kāi)發
下(xià)一篇:Flutter 構建布局
上(shàng)一篇:Flutter Widget框架概述