老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)

aflutteron的簡單介紹

"flutter"是什么意思

1. (鳥)振翼,拍翅

創(chuàng)新互聯(lián)建站專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、仙居網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場景定制、成都商城網(wǎng)站開發(fā)、集團公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為仙居等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

2. (旗幟等)飄動,飄揚

The flag fluttered in the breeze.

旗幟在微風中飄動。

3. (脈搏,心臟)不規(guī)則跳動

Her heart fluttered with fear.

她因害怕心跳得厲害。

4. 焦急地亂動

5. 顫動;(激動得)發(fā)抖

His fingers fluttered.

他的手指顫動。

vt.

1. 振(翼),拍(翅)

The young bird fluttered its wings.

雛鳥拍打著它的翅膀。

2. 使焦急,使不安

3. 使飄動

n.

1. 振翼;飄動[S]

2. 興奮;激動;焦急[S]

That TV play caused a mild flutter among the viewers.

那出電視劇在觀眾中稍稍引起轟動。

3. 【英】【口】小賭;小投機[C][S1]

4. 【醫(yī)】(心臟等的)撲動,振顫[C]

5. (錄音機)放音失真,音頻顫動[U]

有關(guān)于引導(dǎo)的介詞必備短語

在英語里,介詞短語數(shù)量之多,可以和片語動詞互相比擬,不與它們親近也難。

由on引導(dǎo)的介詞短語

(1) On the air:在廣播中

The Prime Minister's National Day speech was broadcast live and will be on the air again.

(2) On balance:權(quán)衡輕重之后

Our national football feam sometimes won but sometimes lost. On balance, it has had a quite good track record.

(3) On the dole:接受福利金

In the West, unemployed workers can still survive if they are on the dole.

(4) On an even keel:平穩(wěn)的

The grocery business has experienced a tough period, but it is back on an even keel.

(5) On the loose:不受拘束的

According to some newspaper reports, a big tiger is on the loose in an outlying island.

(6) On the make:熱衷于追求名利

Among your friends, do you have some continually on the make?

(7) On the mend:病情在好轉(zhuǎn)件

When I saw Mike last time, he was quite ill, but he is now said to be on the mend.

(8) On the move :在活動中

A good friend of mine has been on the move in and out of the country, trying to find business to do.

(9) On a par with:和平等

The flowers in that garden are pretty, but I am not sure if they are on a par with yours.

(10) On the quiet:秘密地

Some foreign students have been making money on the quiet during school holidays.

(11) On the rocks:遭受失敗

His ill-fated attempt has landed itself on the rocks.

(12) on the run:在逃跑中

One kidnapper has been arrested, but others are still on the run.

(13) On a shoestring:小本經(jīng)營地

Xiao Lei ran his business on a shoestring before it was expanded.

(14) On the side:作為兼職

Some low-income people have to take up a second job on the side.

(15) On the sly:秘密地;偷偷地

Smoking was prohibited in school, but some students did it on the sly or in the lavatory.

(16) On the spot:當場;立即

When an adult shoplifter is caught on the spot, he or she will be sent to prison.

(17) On tenterhooks:提心吊膽

Those waiting for the outcome of university admission are on tenterhooks beyond their control.

(18) On the rack:極度焦慮不安

When the doctor did not say anything after seeing the patient, the patiant felt somewhat on the rack.

(19) On tap:隨時可得到的

The director has a wide circle of friends who are on tap when needed.

(20) On the cards :有可能重現(xiàn)的

Unconfirmed news has it that a new university could be on the cards.

(21) On edge:緊張;著急;

When the small boy could not see his mother in the crowd, he was on edge and cried.

(22) On call:待命

The company car is always on call to take the Chief Executive Officer to meetings.

由in引導(dǎo)的介詞短語

(1) In the air:尚未確定的

Some neighbouring governments' concrete plans to alleviate their economic problems are still in the air.

(2) In clover:(常和 live連用)生活舒適

Those living in clover will not be able to understand the misery of the poor.

(3) In deep water:深深陷入困境

You had better get away from that business or you will be in deep water with no one to pull you out.

(4) In low spirits:士氣低沉的

What's wrong with you ? You looked fine a moment ago. Why are you now in low spirits?

(5) In a fix:面臨困境

Some newly-weds are in a fix now; when can they get their HDB flats and move in ?

(6) In a flutter:處在緊張狀態(tài)中

The news about the dignitary's visit put the staff in a flutter.

(7) In full swing:如火如荼地

The celebration for welcoming the victorious national team is already in full swing.

(8) In the know:知道詳情的

The manager has resigned. For further information, please see the secretary, who is in the know.

(9) In limbo:處于不確定的狀態(tài)中

The decision on the oversea project is in limbo, due to some indeterminate factors.

(10) In a flash:瞬息間

I don't know what happened to Grace, who went out and retuned in a flash.

(11) In the limelight:眾人注意的焦點

Once a person becomes famous, he will be in the limelight. all the time with very litte private time.

(12) In a nutshell:簡而言之

I have a lot to say about his latest book, but to put it in a nutshell, it is a good work.

(13) In the offing:即將到來

According to a newspaer report, a minor cabinet reshuffle is in the offing.

(14) In the pipeline:在準備中

The TV magazine indicates that some new TV serials are in the pipeline.

(15) In the open:公開的

The hearsay about a minister's resignation has now become a fact; everything is now in the open.

(16) In the same boat:面臨同樣的不幸處境

If a company cannot survive, many others will be in the same bboat, and working people will be in for a hard life.

(17) In step with:和符合

Is it possible to expect the opinion of every member to be in step with that of the party leaders?

(18) In store for:即將發(fā)生;即將到來

For every capable person, there is a promising future in store for him.

(19) In the swim:通曉時務(wù)

If you are to keep your information up to date, please see Jimmy, who is always in the swim.

(20) In a tight squeeze:(財務(wù)等)緊縮

When in a tight squeeze, a company has to resort to the bank for assistance.

由at引導(dǎo)的介詞短語

1. At bay:(經(jīng)常和keep或hold連用)使不能接近

One of the gangsters kept the police at bay until the rest escaped.

2. At bottom:實際上

Judy said she was not jealous of her friends' success, but at bottom, she was.

3. At close quarters:逼近地

The two rivals grappled at close quarters.

4. At cross purposes:互相誤解

I think we are at cross purposes. When I said J.C., I meant Jason Chen, not John Chen.

5. At daggers drawn:勢不兩立

Dan and Bob have been at daggers drawn for years. There is no evidence that they will make up.

6. At every turn:處處

When you go downtown, you will see shops, big and small, at every turn.

7. At one fell swoop:一舉

Which country can invade another country and conquer it at one fell swoop?

8. At issue:在討論中的

The question asked was not relevant to the matter at issue .

9. At large:一般的;逍遙法外的。

a. The people at large support the government's various policies.

b. Some illegal immigrants were caught, but some others are still at large.

10. At length:詳細地

Time did not allow the speaker to talk about the financial turmoil at length.

11. At loggerheads with:經(jīng)常和爭吵

Mr and Mrs Thang are often at loggerheads with each other. Why can't they get along well?

12. At a loss for words:不知說什么好

The news came so surprisingly that she was at a loss for words.

13. At a low ebb:處于低潮

Henry's mood seems to be at a low ebb now; let's cheer him up a bit.

14. At a price:付高代價

Some people became successful at a price; their health and family life were adversely affected.

15. At random:隨意地

One may choose things at random, but not the prospective life partner.

16. At the ready:處在準備狀態(tài)中

At the news conference, news reporters gathered around, pens and notebooks at the ready.

17. At sea:茫然

Those not interested in politics will be at sea when people discuss political issues.

18. At a stretch:連續(xù)地

In order to earn money, some workers do overtime works for a few days at a stretch.

19. At will:任意地

In a society like ours, one has to be law-abiding and not to do things at will.

20. At one's wits end:不知所措

Chased by the enemy to an abyss, the man could not advance any more, nor could he retreat; he was at his wits end.

21. At heart:在內(nèi)心里;本質(zhì)上

a. A good leader often has the people's interests at heart.

b. Though Xiao Gan works in a city, he is a country boy at heart.

22. At sixes and sevens:亂七八糟

When the maid returned to work after three days' leave, she found all the rooms at sixes and sevens.

Flutter進階篇(4)-- Flutter的Future異步詳解

本文首發(fā)在公眾號 Flutter那些事 ,歡迎大家多多關(guān)注。

工具安裝:

Flutter基礎(chǔ)篇:

Flutter進階篇:

Dart語法基礎(chǔ)篇:

Dart語法進階篇:

說明:本文中的所有函數(shù)的引用在 main 函數(shù)中:

這里的執(zhí)行結(jié)果是:

Futue直接new就可以了。我這里沒有具體的返回數(shù)據(jù),所以就用匿名函數(shù)代替了, Future future = new Future(() = null); 相當于 FutureNull future = new Future(() = null); 泛型如果為null可以省略不寫,為了便于維護和管理,開發(fā)中建議加上泛型。

輸出結(jié)果是:

future里面有幾個函數(shù):

then :異步操作邏輯在這里寫。

whenComplete :異步完成時的回調(diào)。

catchError :捕獲異?;蛘弋惒匠鲥e時的回調(diào)。

因為這里面的異步操作過程中沒有遇到什么錯誤,所以catchError回調(diào)不會調(diào)用。

我們可以看到執(zhí)行結(jié)果是:

我們可以看到輸出結(jié)果是: 2 1 3 和我們創(chuàng)建Future對象的先后順序完全一致。

我們可以看到結(jié)果為 1 2 3 ,和我們調(diào)用then的先后順序無關(guān)。:

當then回調(diào)函數(shù)里面還有then回調(diào)的時候,這時候的流程跟前面就不太一樣了,也是一個大坑,也是面試經(jīng)常會被問到的一個知識點。

我們可以看到執(zhí)行結(jié)果如下:

結(jié)果還是一樣的:

運行結(jié)果是:

這里再次證明了上面我的猜想: 執(zhí)行順序和和創(chuàng)建Future的先后順序有關(guān),如果有多個then嵌套執(zhí)行,先執(zhí)行外面的then,然后執(zhí)行里面的then。

執(zhí)行結(jié)果如下,我們可以看到then內(nèi)部創(chuàng)建的Future要等到then執(zhí)行完了,最后再去執(zhí)行的:

根據(jù)上文總結(jié)的特點,我們可以不用運行也能推斷出輸出結(jié)果:

為了驗證我們的猜想,我們打印一下輸出結(jié)果,果然我們的證明是正確的。

我們重點看看 then函數(shù)的文檔說明:

then 注冊在 Future 完成時調(diào)用的回調(diào)。

當這個 Future 用一個 value 完成時,將使用該值調(diào)用 onValue 回調(diào)。

如果 Future 已經(jīng)完成,則不會立即調(diào)用回調(diào),而是將在稍后的 microtask(微任務(wù)) 中調(diào)度。

如果回調(diào)返回 Future ,那么 then 返回的 future 將與 callback 返回的 future 結(jié)果相同。

onError 回調(diào)必須接受一個參數(shù)或兩個參數(shù),后者是[StackTrace]。

如果 onError 接受兩個參數(shù),則使用錯誤和堆棧跟蹤時調(diào)用它,否則僅使用錯誤對象時候調(diào)用它。

onError 回調(diào)必須返回一個可用于完成返回的future的值或future,因此它必須是可賦值給 FutureOr R 的東西。

返回一個新的 Future ,該 Future 是通過調(diào)用 onValue (如果這個Future是通過一個value完成的)或' onError (如果這個Future是通過一個error完成的)的結(jié)果完成的。

如果調(diào)用的回調(diào)拋出異常,返回的 future 將使用拋出的錯誤和錯誤的堆棧跟蹤完成。在 onError 的情況下,如果拋出的異常與 onError 的錯誤參數(shù)“相同(identical)”,則視為重新拋出,并使用原始堆棧跟蹤替代

如果回調(diào)返回 Future ,則 then 返回的 Future 將以與回調(diào)返回的 Future 相同的結(jié)果完成。

如果未給出 onError ,并且后續(xù)程序走了剛出現(xiàn)了錯誤,則錯誤將直接轉(zhuǎn)發(fā)給返回的 Future 。

在大多數(shù)情況下,單獨使用 catchError 更可讀,可能使用 test 參數(shù),而不是在單個 then 調(diào)用中同時處理 value 和 error 。

請注意,在添加監(jiān)聽器(listener)之前, future 不會延遲報告錯誤。如果第一個 then 或 catchError 調(diào)用在 future 完成后發(fā)生 error ,那么 error 將報告為未處理的錯誤。

Flutter入門這一篇效率文章就夠了

本文面向 Flutter 初學(xué)者,旨在用易懂的方式帶大家入門。除了 Flutter 代碼,還會介紹到語法、原理、特性等基礎(chǔ)知識。相信本文能幫助你學(xué)習和理解 Flutter。

我們先看一下目前的一些跨平臺方案,從前端渲染的角度來分類的話,大致可以分為以下幾種方案。

WebView 渲染

這種方案就很好理解,現(xiàn)在很多項目都會嵌入 H5 的頁面。就是用 JavaScript 等前端技術(shù)進行開發(fā),在客戶端上用 WebView 來進行渲染。微信小程序目前使用的就是這種方案。

它的優(yōu)點很明顯,使用成熟的前端技術(shù)進行開發(fā),學(xué)習成本低,開發(fā)效率高,并且支持動態(tài)發(fā)布代碼。

但缺點也很明顯,在性能體驗上,和原生還是存在較大差距的。

原生控件渲染

既然 WebView 的性能不夠好,于是就有了使用原生控件進行渲染的方案。這種方案,同樣也是使用 JavaScript 開發(fā),區(qū)別是它最終是調(diào)用原生控件進行渲染的。這種方案的代表是 Facebook 的 React Native。

由于使用原生控件進行渲染,性能體驗也會更接近原生。但也只是更接近,和原生還是有差距的,因為它需要頻繁的進行 JavaScript 和原生之間的通信,這個通信效率是比較低的。

另外,由于需要適配各個平臺的控件,那就有可能出現(xiàn),系統(tǒng)控件更新了,而框架本身還沒有更新,由此產(chǎn)生了一些問題。換句話說,這種方案是受到原生控件限制的。

繪圖引擎渲染

接下來就是主角了。

在前端,如果完全不使用原生控件,我們可以通過系統(tǒng)的繪圖 API 繪制出一個用戶界面。從這個角度出發(fā),可以在各個平臺使用一個統(tǒng)一接口的繪圖引擎來進行界面繪制,這個引擎最終調(diào)用的是系統(tǒng)的 API 繪制的。這樣的話,它的性能可以做到接近原生,并且又不受原生控件的限制,在不同平臺上能夠做到 UI 統(tǒng)一。

Flutter 就是這樣的一個開發(fā)框架。

一個跨平臺 UI 解決方案

Flutter 是由 Google 開發(fā)的,一個跨平臺 UI 解決方案。換句話說,它原則上只管 UI 的問題,如果涉及到平臺本身的一些功能,比如調(diào)用藍牙、攝像頭,一般還是需要原生代碼去操作。但現(xiàn)在也會有一些第三方庫幫我們解決這些問題。

繪圖引擎 Skia

Flutter 使用 Skia 作為它的繪圖引擎。Skia 已經(jīng)被 Google 收購,目前很多 Google 旗下的產(chǎn)品都是用 Skia 繪制的,包括 Android。

Android 內(nèi)置了 Skia,但 iOS 沒有,所以在打 iOS 安裝包的時候,會把 Skia 一起打進去。這就導(dǎo)致了,用同一份 Flutter 代碼打包之后,iOS 的包要比 Android 的包大一些。

開發(fā)語言 Dart

Flutter 使用的開發(fā)語言,叫 Dart。Dart 也是 Google 自家的,它是一門面向?qū)ο蟮恼Z言,從它身上會看到一些其他開發(fā)語言的影子。學(xué)習起來難度不大的。

前面講跨平臺方案的時候,可以發(fā)現(xiàn)別的方案基本都是用 JavaScript 作為開發(fā)語言的,但為什么 Flutter 不用?就因為 Dart 是谷歌自家的嗎?這個問題先留著,我們后面會提到。

這里部分就簡單點帶過了,具體的搭建流程可以在官網(wǎng)查看:

主要的搭建步驟如下:

下載 Flutter SDK

官網(wǎng)下載地址:

由于在國內(nèi)訪問可能受限,官方為中國開發(fā)者搭建了鏡像:

更新環(huán)境變量

解壓后,將 flutter\bin 的全路徑添加到環(huán)境變量 PATH 中。

安裝開發(fā)工具

理論上,任何文本編輯器都可以用來開發(fā) Flutter 應(yīng)用,但推薦的開發(fā)工具是 Android Studio、IntelliJ 以及 VS Code。因為在這些開發(fā)工具上,可以安裝官方的 Flutter 和 Dart 插件,得到更好的開發(fā)體驗。文章里使用 Android Studio 來演示。

如果你打算開發(fā) iOS 應(yīng)用,則還需要安裝 Xcode。

安裝插件

在開發(fā)工具的插件設(shè)置中,安裝上面說到的 Flutter 和 Dart 插件。Flutter 插件用于支持 Flutter 的運行、調(diào)試、熱重載等功能,而 Dart 插件則提供了代碼的輸入校驗、代碼補全等功能。

萬物始于 Hello World,我們先來創(chuàng)建一個顯示 Hello World 的 Flutter 項目。

在 Android Studio 的歡迎頁面選擇 Start a new Flutter project ,或者通過菜單欄的 File New New Flutter Project ,創(chuàng)建一個新的 Flutter 項目。

創(chuàng)建好的項目里面包含了 android 和 ios 兩個文件夾,它們是標準的 Android 和 iOS 項目。我們的 Flutter 代碼,存放在 lib 文件夾里。項目創(chuàng)建好后,會默認帶一個計數(shù)器的示例,我們不管它,把 main.dart 的代碼改成 Hello World:

啟動一個模擬器,或者連上真機,點擊 Run 運行一下,就能看這樣一個界面了:

具體代碼先混個眼熟就好,具體的后面會再講到。

在寫 Flutter 之前,還要先跟大家簡單介紹一下 Dart 的語法。如果你有 Java 或 JavaScript 的開發(fā)經(jīng)驗,以及面向?qū)ο蟮木幊趟枷耄瑢W(xué)起來是很快的。

我們可以在 test 文件夾下新建一個 dart 文件,用來寫測試代碼。

指定類型

var

但和 JavaScript 不同的是,以下代碼在 JavaScript 是不會報錯的,但在 Dart 里會報錯:

Object

如果非要上面這樣寫,那也可以。把 var 換成 Object 就不報錯了:

和 Java 類似,Object 是所有對象的根基類。但是這樣的話,如果想打印一下 num 的字符串長度,是會報錯的:

因為 length 是屬于 String 的,但系統(tǒng)只知道 num 是一個對象,并不知道它是一個 String。

dynamic

如果還是非要這樣寫,那也可以。Dart 有一個特有的關(guān)鍵字 dynamic,把 Object 改成 dynamic 就不報錯了:

我們運行一下這個文件,可以在控制臺看到正確打印出了字符串長度。

函數(shù)

dynamic

在 Dart 里,函數(shù)也是可以不寫返回類型的,不寫的話會被當做 dynamic 來處理。這樣的話,函數(shù)的類型就是 return 的類型,如果沒有 return 則是 void 類型。比如可以這樣:

運行之后是能正確打印出字符串長度的。

用于傳參

Dart 里的函數(shù)也是一個對象,所以可以把函數(shù)作為參數(shù)來傳遞,比如:

可選參數(shù)

在 Dart 的函數(shù)傳參里,有一個叫可選參數(shù)的概念,我們以文字控件 Text 為例,在源碼里可以看到 Text 的構(gòu)造函數(shù)是這樣的:

首先,在參數(shù)里有一個 data,它是要顯示的文字內(nèi)容,是一個必填項。而 data 后面的一堆參數(shù),是用一個大括號括起來的,這些參數(shù)就叫做可選參數(shù),意思是這些參數(shù)可傳可不傳。

假如我們要顯示一個比較長的文字,又想限制它最多顯示兩行,就可以這樣來創(chuàng)建一個 Text:

可選參數(shù),在 Flutter 里面用的非常多。

異步

Future

在 Dart 里使用 Future 來處理異步任務(wù),比如我們現(xiàn)在延時一秒打印 666,代碼如下:

Future 的語法和 Promise 非常像。任務(wù)執(zhí)行成功會調(diào)用 then,執(zhí)行失敗會調(diào)用 catchError,而無論成功還是失敗,都會調(diào)用 whenComplete。

async/await

如果你不喜歡上面那種寫法,或者是想把異步轉(zhuǎn)成同步,就可以用 async 和 await 這兩個關(guān)鍵字來轉(zhuǎn)換。

我們把上面的代碼轉(zhuǎn)換一下,寫一個 getString 方法,返回的類型是 Future,它會延時返回一個字符串。在 main 函數(shù)后面加上 async 關(guān)鍵字,在 getString() 前面加上 await,代碼如下:

運行之后可以看到,能正常延時一秒后,把字符串打印出來。這里 getString() 返回的類型是 Future,而 await getString() 則是返回了延時之后返回的字符串。await 要在 async 的函數(shù)里面才能使用。

async 和 await 其實是一個語法糖,它最終也是轉(zhuǎn)換成 Future 調(diào)用鏈的形式執(zhí)行的。

接下來回到 Flutter,F(xiàn)lutter 里最重要的一個概念是 Widget(下面翻譯作控件)。

在原生開發(fā)里面,我們可能會在界面上區(qū)分,這是一個 View,這是一個 Layout,這是一個 View Controller。但在 Flutter 里面,它們?nèi)紝儆谝粋€統(tǒng)一的模型 Widget??梢哉f,在 Flutter 界面里,所有東西都是 Widget。

以前學(xué)面向?qū)ο蟮臅r候,我們都聽過一句話,叫萬物皆對象。我這里套用一下,在 Flutter 里, 萬物皆控件 。

具體有哪些控件,我做了一下簡單的分類。

根控件

所有的控件都屬于 StatefulWidget 或 StatelessWidget 。它們的區(qū)別是,StatefulWidget 擁有狀態(tài) State ,而 StatelessWidget 沒有。

StatefulWidget

當一個控件是可變的時候,就要使用 StatefulWidget 來構(gòu)建。StatefulWidget 本身不可變,但它持有的狀態(tài) State 是可變的。

StatelessWidget

當一個控件狀態(tài)是固定不可變的時候,就可以使用 StatelessWidget。前面我們寫的 Hello World 就是使用 StatelessWidget。

容器控件

容器類控件一般是將某些屬性或配置,作用在它的子控件上,比如控件所在的寬高、背景、位置等。

常用的容器控件有 Container、Center、Padding 等。

布局控件

布局控件可以類比作原生開發(fā)中的 Layout,通常它會擁有一個 children 的屬性,用于接收一個控件數(shù)組,對這些控件進行特定的排版。

常用的布局控件有 Row、Column、Stack、Flex 等。

基礎(chǔ)控件

基礎(chǔ)控件就是常用的文字、按鈕、圖片等控件。

常用的基礎(chǔ)控件有 Text、TextField、Button、Image 等。

功能控件

在 Flutter 里還有一類控件,它們不影響 UI 布局,但帶有一些特定的功能,比如頁面跳轉(zhuǎn)、事件監(jiān)聽、定義主題等。我們把這一類控件稱作功能控件。

常用的功能控件有 Navigator、NotificationListener、Theme 等。

開始寫 Flutter 代碼了。還記不記得,在 Flutter 項目創(chuàng)建之后,是自帶一個計數(shù)器 demo 的,現(xiàn)在我們用自己的代碼實現(xiàn)一遍。代碼修改成如下:

運行之后,就可以看到這樣的界面了:

按鈕每點擊一次,數(shù)字就會加一。下面我們來分析一下這段代碼,看下里面用到的一些 Widget。

StatefulWidget

由于頁面中的數(shù)字是跟隨狀態(tài)變化的,所以該頁面改用 StatefulWidget。StatefulWidget 并不會直接返回一個 Widget,而是返回狀態(tài) State,在 State 里再返回 Widget。

Scaffold

Scaffold 是一個標準的 Material Design 頁面,它包含了標題欄、浮動按鈕、側(cè)滑菜單、底部導(dǎo)航欄等配置。我們這里用到了標題欄 appBar、頁面內(nèi)容 body、浮動按鈕 floatingActionButton。

AppBar

AppBar 就是標題欄,通過查看控件的構(gòu)造方法,我們可以知道它可配置的屬性。

AppBar 的可選參數(shù)除了標題 title,還可以配置標題前的內(nèi)容 leading,右側(cè)的操作按鈕 anctions,控件垂直高度 elevation 等。我們只傳了 title,其他屬性都用默認值。

Center

Center 是一個容器類控件,它的作用就是讓它的子控件居中顯示。

FloatingActionButton

熟悉安卓開發(fā)的應(yīng)該對這個控件比較熟悉,它就是頁面右下角一個特定樣式的 Button,參數(shù)里面的 onPressed 是一個必填項,要傳一個點擊之后的回調(diào)函數(shù)。

根據(jù)這個例子,下面給大家介紹一下 Flutter 兩個比較重要的特性。

點擊 Button 之后,我們把 num 變量加一,并使用 setState 通知狀態(tài)發(fā)生了改變,F(xiàn)lutter 會根據(jù)新的狀態(tài)更新 UI。如果有接觸過小程序開發(fā),setState 就和小程序的 setData 類似。

在 Flutter 里面我們不需要用 set 方法來更新 UI,可變控件是和狀態(tài)綁定的,這就是 Flutter 的響應(yīng)式 UI 編程。

在 Android Q 和 iOS 13 里都加入了暗黑模式,我們也換一個暗黑主題來玩一下。MaterialApp 里有一個 theme 的屬性,我們把它配置一下:

這次改完之后不點 Run 了,我們點一下閃電圖標 Flutter Hot Reload ,就能看到界面發(fā)生了變化:

這就是 Flutter 的 熱重載 ,在修改完代碼之后,通過熱重載就能馬上在設(shè)備上看到修改結(jié)果,可以很大程度上增加開發(fā)效率。

下面再給大家介紹幾個 Flutter 里的常見操作。

在 Flutter 里,使用 Navigator 來管理頁面跳轉(zhuǎn),比如要跳轉(zhuǎn)到一個 NewPage 可以這樣寫:

進棧使用 push,出棧則是 pop。

使用 MaterialPageRoute 會模擬出 Android 上頁面跳轉(zhuǎn)的過場效果。

我們來看看怎么顯示一張本地圖片。

先在根目錄新建一個存放圖片的文件夾,比如叫 images,把圖片 picture.png 放進去。

找到根目錄下的 pubspec.yaml 文件,這個便是 Flutter 依賴配置文件,我們需要在這里配置一下剛才的圖片:

這樣,我們就能使用 Image 控件把這張圖片顯示出來了:

和 node 的 npm 以及 Android 的 jcenter 類似,F(xiàn)lutter 也擁有一個公共倉庫 pub.dev。pub.dev 是 Google 官方的 Dart 倉庫,在上面可以找到我們需要的包和插件。

Flutter 本身沒有 Toast,我們來接入一個。在 pub.dev 上搜索后,我決定使用 fluttertoast:

按照說明,在 pubspec.yaml 文件里的 dependencies 下配置:

點一下 Android Studio 右上角的 Packages get 同步之后就可以使用了:

我們上面使用的都是 Material Design 的控件,它們都是在 flutter/material.dart 包里面的。如果要使用 iOS 風格的控件,則要用到 flutter/cupertino.dart 包:

iOS 風格的控件,基本都以 Cupertino 開頭。我們把計時器頁面里的控件替換一下:

效果如下:

代碼的部分就到這里了,接下來跟大家聊一下編譯方式,編程語言的編譯方式有兩種。

關(guān)于它們孰優(yōu)孰劣,就要看從哪個角度去對比了。JIT 的話,它的一大特點就是支持動態(tài)發(fā)布代碼,也就是支持熱更新。但要是從性能的角度考慮,AOT 會更好,因為在運行的時候不用再進行編譯的操作的,運行的效率會更高一些。

回到我們一開始的時候留下的問題,為什么別的跨平臺方案都是用 JavaScript,而 Flutter 要用 Dart 來開發(fā)。JavaScript 的編譯方式是 JIT 的,它不支持 AOT。而 Dart 同時支持 JIT 和 AOT。

Flutter 在開發(fā)階段使用 JIT,讓我們用上了熱重載,增加了開發(fā)效率。在打包時改用 AOT,保證了正式版應(yīng)用的性能。

最后講一下大家比較關(guān)心的一個東西,F(xiàn)lutter 是否支持熱更新?前面說到 Dart 支持 JIT,所以從技術(shù)層面它是支持的。但是目前是不支持的,在官方的計劃文檔中,可以看到:

至于原因,官方在這里進行了說明??偟膩碚f,是由于政策的限制,以及出于對性能和安全性的考慮,暫時不支持了。

到這就結(jié)束啦。由于想把 Flutter 基礎(chǔ)在一篇內(nèi)講完,沒有涉及太多細節(jié),如果要寫 Flutter 代碼還需要深入學(xué)習。但相信理解之后再學(xué),會輕松很多。

“忐忑不安” 怎么用英文翻譯??

be very upset; be in fidgets; be in a rather nervous state; be on nettles; be overwhelmed with anxiety; be thrown into [put in; put into] a flutter; feel troubled and uneasy; fret and fume; ill at ease; nervous and uneasy; uneasy at heart


當前題目:aflutteron的簡單介紹
鏈接分享:http://www.xueling.net.cn/article/hooeis.html

其他資訊

在線咨詢
服務(wù)熱線
服務(wù)熱線:028-86922220
TOP
主站蜘蛛池模板: 国产乱码久久久久久 | 99成人h色视频33a | 全部免费毛片在线播放网站 | 国产精品久久久久久久久鸭 | 靠比视频免费观看 | 久久国产综合 | 99精品视频在线免费观看 | 亚洲国产精品综合久久久 | 中文字幕精品乱码中文字乱码 | 欧美视频第三页 | 中文字幕乱伦视频 | 精品人伦一区二区三区潘金莲 | 亚洲欧洲国产码专区在线观看 | 中文精品无码中文字幕无码专区 | 樱花草在线观看播放免费视频 | 91?合在线?看 | 国产国产成年年人免 | 亚洲精品一区二区三区午夜不卡片 | 久久婷婷五月综合色国产香蕉 | 国产伦子沙发午休系列资源曝光 | 欧美日韩一卡 | 在线观看亚洲欧美视频免费 | 性色AV极品无码专区亚洲 | 少妇高潮灌满白浆毛片免费看 | 中文字幕亚洲精品一区 | 欧美搞黄 | 99国产精品永久免费视频 | 国产美女91视频 | 国产亚洲欧美日韩俺去了 | 天天操天天爱天天干 | 91久久久精品国产一区二区蜜臀 | 三年片在线观看免费动漫 | h视频在线观看网站 | 黄色大片一区 | 精品偷拍无码专区亚洲 | 久草视频在线免费看 | 精品久久香蕉国产线看观看亚洲 | 成人亚洲一区二区三区 | 人妻内射.PORN | 国产伦精品一区二区三区照片91 | 国产日产欧产精品精品浪潮 |