溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Flutter初識(shí)三問(wèn)是什么

發(fā)布時(shí)間:2022-01-11 16:39:00 來(lái)源:億速云 閱讀:124 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要講解了“Flutter初識(shí)三問(wèn)是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Flutter初識(shí)三問(wèn)是什么”吧!

問(wèn)題

  • StatefulWidget與StatelessWidget使用時(shí)機(jī)?

  • Flutter如何加載圖片(網(wǎng)絡(luò)或者本地)?

  • Scaffold是什么?

講講State

在Android中,您可以通過(guò)直接對(duì)view進(jìn)行改變來(lái)更新視圖。然而,在Flutter中Widget是不可變的,不會(huì)直接更新,而必須使用Widget的狀態(tài)。

這是Stateful和Stateless widget的概念來(lái)源。一個(gè)Stateless Widget就像它的名字,是一個(gè)沒(méi)有狀態(tài)信息的widget。
例如:在Android中,如果您只想將一個(gè)logo使用ImageView展示出來(lái)。logo在運(yùn)行時(shí)不會(huì)發(fā)生改變,在Flutter中可以通過(guò)StatelessWidget實(shí)現(xiàn)。

但是,如果您希望通過(guò)網(wǎng)絡(luò)請(qǐng)求數(shù)據(jù)后來(lái)更新您的的界面,則需要使用StatefulWidget,并通知Flutter框架(setState)需要更新該widget。

記住官方的一個(gè)規(guī)則:如果一個(gè)widget發(fā)生了變化(用戶與它交互),它就是有狀態(tài)的。但是,如果一個(gè)子widget對(duì)變化做出反應(yīng),而其父widget對(duì)變化沒(méi)有反應(yīng),那么包含的父widget仍然可以是無(wú)狀態(tài)的widget

 

加載圖片

支持格式:JPEG、WebP、GIF、PNG、BMP、WBMP
主要是通過(guò):

  • 網(wǎng)絡(luò)

1new Image.network(
2          imgUrl,
3          scale:1.0)
 
  • 本地

1// 注意path需要包含圖片的后綴的
2new Image.asset(path, width:24.0, height: 24.0);
 

另外在加載資源圖片是需要在pubspec.yaml中聲明(以上一節(jié)的項(xiàng)目為例):

 1flutter:
2  uses-material-design: true
3  assets:
4    - images/tab_association_grey.png
5    - images/tab_association_yellow.png
6    - images/tab_discovery_grey.png
7    - images/tab_discovery_yellow.png
8    - images/tab_me_grey.png
9    - images/tab_me_yellow.png
10    - images/tab_sport_grey.png
11    - images/tab_sport_yellow.png
12    - images/tab_training_yellow.png
13    - images/tab_training_grey.png
 

就上面這些方式嗎?答案是否定的。肯定還有別的方式,本期不做介紹,后面用到的時(shí)候再補(bǔ)充。

Scaffold是什么

Scaffold實(shí)現(xiàn)了Materia design(材料設(shè)計(jì))風(fēng)格的布局結(jié)構(gòu)。Scaffold widget提供了實(shí)現(xiàn):appBar、floatingActionBar等材料設(shè)計(jì)風(fēng)格控件的API。所以當(dāng)我們想要使用MateriaDesign的一些布局方式就會(huì)選擇Scaffoldwidget。

感謝各位的閱讀,以上就是“Flutter初識(shí)三問(wèn)是什么”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Flutter初識(shí)三問(wèn)是什么這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI