最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Flutter學(xué)習(xí)(二)基礎(chǔ)知識(shí)

2023-09-05 14:10 作者:shiaouz  | 我要投稿

Dart語(yǔ)言的基本知識(shí)必須要掌握,關(guān)鍵字和運(yùn)算符必須至少學(xué)習(xí)一遍。網(wǎng)上有很多教程,此處不展開(kāi)來(lái)講??梢詤⒖脊俜轿臋nhttps://flutter.cn/docs/resources/bootstrap-into-dart。

Flutter應(yīng)用中,所有用戶看到的“東西”皆是Widget。圖片、按鈕、文字這些常規(guī)的控件是我們熟悉的,還有布局(Stack,Align,F(xiàn)lex,ListView等),邊距(Padding),可視(Visibility)等等,它們都是Widget。

下面看看Hello World中的兩個(gè)Widget:

MaterialApp:Flutter自帶的主題Widget,可以設(shè)置各種主題顏色,包含更多主題的Widget,例如Scaffold,TextField等。如果不用MaterialApp會(huì)怎樣?結(jié)果就是連個(gè)輸入框都沒(méi)有,需要造輪子或者找輪子。

Scaffold:依賴MaterialApp的一個(gè)排版布局的Widget,支持很多功能,如標(biāo)題,左邊返回按鈕,右邊工具按鈕,底部導(dǎo)航等。

其他Widget就不一一介紹了,想用的時(shí)候再去找就行。想查看全部Widget可以參考官方文檔https://flutter.cn/docs/reference/widgets。


當(dāng)我們學(xué)會(huì)了寫界面的時(shí)候,接下來(lái)要做的大概就是界面的跳轉(zhuǎn)和返回,這里貼一下自定義的方法:

void push(BuildContext context,Widget widget, {OnRouteResult? callback}) {

? ? Navigator.of(context).push(MaterialPageRoute<ApiResult>(builder: (context) => widget)).then((value) {

? ? ? callback?.call(value ?? ResultImpl(-1, "cancel"));

? ? });

? }

void pop(BuildContext context,[ApiResult? result]) {

? ? Navigator.of(context).maybePop(result);

? }

context:Widget內(nèi)的變量,StatelessWidget中只有build方法才能獲得context對(duì)象,可以在按鈕的回調(diào)方法可以這么寫onPressed: () => _doSomething(context),這樣就可以拿到context對(duì)象;

widget:需要跳轉(zhuǎn)的界面;

callback:需要監(jiān)聽(tīng)從widget返回時(shí)攜帶的數(shù)據(jù);

Navigator:Flutter的路由功能類;

MaterialPageRoute:Navigator.push方法的參數(shù),MaterialPageRoute<ApiResult>表示widget返回的數(shù)據(jù)是ApiResult抽象類型,ResultImpl是ApiResult的實(shí)例;

then:Dart異步知識(shí),不知道需要去學(xué)習(xí)Dart異步Future;

value:widget返回時(shí)攜帶的數(shù)據(jù),可以是空。




Flutter學(xué)習(xí)(二)基礎(chǔ)知識(shí)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
安仁县| 霍州市| 客服| 湟中县| 二连浩特市| 克山县| 堆龙德庆县| 安义县| 扬中市| 安国市| 尼木县| 江川县| 湖口县| 江阴市| 承德市| 遂溪县| 布拖县| 汝阳县| 平陆县| 区。| 成武县| 资源县| 石屏县| 沧源| 故城县| 岐山县| 金门县| 泊头市| 兖州市| 江津市| 东乌| 都江堰市| 长沙县| 鲜城| 都匀市| 白朗县| 上饶县| 芦山县| 铁岭县| 青岛市| 二连浩特市|