Flutter入門 (三)基礎控制項

2021-09-10 02:18:41 字數 3059 閱讀 6718

上篇文章講解了兩種widget,這篇文章主要講解一下常用的基礎控制項的使用方法。

主要包含imageiconrawimageassetbundle

以下以image的講解為例。

object -> diagnosticable -> diagnosticabletree -> widget -> statefulwidget -> image

a widget that displays an image.

乙個顯示的widget

image.asset(name);

image.file(file);

image.memory(bytes);

image.network(src);

class imagewidget extends statelesswidget 

}

文字widget包括textrichtext。文字樣式有defaulttextstyle

以下以text的講解為例。

object -> diagnosticable -> diagnosticabletree -> widget -> statelesswidget -> text

a run of text with a single style.

單一樣式/格式的文字

下面給出乙個最簡單的text實現:

class textwidget extends statelesswidget 

}

以上使用的是text的預設樣式,實際應用場景中,我們大多需要自定義textstyle,自定義文字樣式,實現如下:

class textwidget extends statelesswidget 

}

flutter中的按鈕包括flatbuttonraisedbuttonfloatingactionbuttoniconbuttonpopupmenubutton以及buttonbar等。

以下以flatbutton和raisedbutton的講解為例。

object -> diagnosticable -> diagnosticabletree -> widget -> statelesswidget -> materialbutton -> flatbutton

a material design 「flat button」.

乙個扁平的material按鈕

class flatbuttonwidget extends statelesswidget 

}

object -> diagnosticable -> diagnosticabletree -> widget -> statelesswidget -> materialbutton -> raisedbutton

a material design 「raised button」.

material design中的button, 乙個凸起的材質矩形按鈕

class raisedbuttonwidget extends statelesswidget 

}

常見的輸入框和選擇框有textfieldcheckboxradioswitchsliderdate & time pickers

以下以textfield的講解為例。

object -> diagnosticable -> diagnosticabletree -> widget -> statefulwidget -> textfield

a material design text field.

乙個material design風格的文字輸入框

textfield的實現需要設定乙個 controller,用於獲取使用者輸入的文字。

class textfieldwidget extends statefulwidget 

}class _textfieldstate extends state'),)],

);} @override

void dispose()

}

包括******dialogalertdialogbottomsheetexpansionpanelsnackbar

以下以alertdialog的講解為例。

object -> diagnosticable -> diagnosticabletree -> widget -> statelesswidget -> alertdialog

a material design alert dialog.

乙個會中斷使用者操作的對話方塊,需要使用者確認

class _textfieldstate extends state);}

)],

);} @override

void dispose()

}

Flutter基礎控制項 Row,Column

tocrow 行,以水平方式排列其內部children widget。若需要使其內部某個children widget填充滿剩餘空間,可使用expanded包裹該元件。void main new statelesswidget 無狀態widget class extends statelesswid...

Flutter 入門筆記 三

例項 import package flutter material.dart void main class extends statelesswidget color colors.redaccent,child newtext red button expanded 靈活布局 child ne...

Flutter控制項 Container

container 乙個方便的 widget,它組合了常見的繪畫 定位和大小的 widget,在flutter中非常常見。顏色,邊框,填充形狀,陰影,漸變色,背景。container 首先會使用 padding 來圍繞在 child 周圍 也包括 decoration 中存在的邊框 新增額外的約束限...