真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

flutterxml的簡(jiǎn)單介紹

你會(huì)喜歡Flutter的5個(gè)理由

?

成都創(chuàng)新互聯(lián)公司長(zhǎng)期為上千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為豐鎮(zhèn)企業(yè)提供專業(yè)的成都網(wǎng)站制作、網(wǎng)站建設(shè),豐鎮(zhèn)網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。

在 Google I/O ’17 上,Google 向我們介紹了Flutter —— 一款新的用于創(chuàng)建移動(dòng)應(yīng)用的開(kāi)源庫(kù)。

正如你所想的那樣,F(xiàn)lutter 是能夠幫助創(chuàng)建擁有漂亮 UI 界面的跨平臺(tái)移動(dòng)應(yīng)用解決方案。Flutter 的界面設(shè)計(jì)與 web 應(yīng)用類似,因此,你能夠從 Flutter 上找到像使用 HTML/CSS 那樣熟悉的感覺(jué)。

Google 表示:Flutter 將會(huì)幫你更容易,更快速的開(kāi)發(fā)出界面美觀的移動(dòng)應(yīng)用。

聽(tīng)起來(lái)很美好,但是首先要說(shuō)的是,我對(duì)其他跨平臺(tái)解決方案,諸如 Xamarin,PhoneGap,Cordova,React Native,weex, ionic等并不是很認(rèn)可。 大家都知道,這些解決方案互有利弊,很難選擇。雖然我并不確定 Flutter 是否會(huì)與它們有所不同,但是我很期待。

Flutter 在 移動(dòng) 前端開(kāi)發(fā)上具有很多特色,很有吸引力。這篇文章,我將會(huì)告訴大家我之所以喜歡 Flutter 的真正原因,我們現(xiàn)在就開(kāi)始吧!

為什么要用 Flutter ?

你可能會(huì)好奇,然后問(wèn)自己一個(gè)問(wèn)題:

Flutter 有什么創(chuàng)新之處?它是如何工作的?與 React Native 有什么不同之處?

簡(jiǎn)要來(lái)說(shuō),F(xiàn)lutter 是一個(gè)移動(dòng) SDK ,允許我們創(chuàng)建跨平臺(tái)移動(dòng)應(yīng)用(這樣你就可以編寫一份代碼,在 Android 和 iOS 都可以運(yùn)行這個(gè)應(yīng)用程序)。你使用dart 語(yǔ)言編寫代碼,這是一種由谷歌開(kāi)發(fā)的語(yǔ)言,如果你以前用過(guò) Java ,那看它會(huì)覺(jué)得非常熟悉。你不再需要用 XML 文件構(gòu)建布局樹(shù),而是像這樣:

好的,現(xiàn)在就開(kāi)始吧!

1、熱重載

我們從一個(gè)基本的應(yīng)用開(kāi)始。我們有三個(gè)按鈕,它們中的每一個(gè)都能改變文本的顏色:

Flutter應(yīng)用啟動(dòng)頁(yè)設(shè)置,解決 白/黑 屏情況

出現(xiàn)此情況的原因有兩種

解決:

找到 \app\src\main\res\drawable\launch_background.xml 文件,這個(gè)里面初始化了布局標(biāo)簽,只需要把圖片替換為我們自己的就可以。

或者根據(jù)不同手機(jī)的分辨率 在mipmap下放置圖片例如:

之后前往 styles.xml 文件設(shè)置啟動(dòng)頁(yè)

重新打包就可以看到 剛剛設(shè)置的啟動(dòng)頁(yè)了

效果例如:

[圖片上傳失敗...(image-7e5c2-1586668143446)]

至此可以流暢的打開(kāi)啟動(dòng)頁(yè)了

Flutter(六)Android與Flutter混合開(kāi)發(fā)(Hybird)

如果我們目前的項(xiàng)目是Android的,但是接下來(lái)我們希望部分頁(yè)面可以使用Flutter進(jìn)行開(kāi)發(fā),甚至我們希望在Native頁(yè)面中嵌入FlutterUI組件,那么我們?cè)撊绾螌?shí)現(xiàn)呢?

假設(shè)你現(xiàn)在Android項(xiàng)目的目錄的結(jié)構(gòu)是這樣的

這時(shí)候如果你想創(chuàng)建一個(gè)Flutter模塊,使得Android模塊和Flutter模塊之間可以進(jìn)行交互,我們可以通過(guò)Android Studio新建一個(gè)Flutter Module,具體過(guò)程是:File — New — New Module ,之后選擇Flutter Module,指定Project Location的路徑為

也就是說(shuō),最終你的項(xiàng)目結(jié)構(gòu)會(huì)是這樣的

接下來(lái)在Android Module的 build.gradle 文件中添加flutter依賴

先創(chuàng)建一個(gè)Flutter頁(yè)面

這里比較重要的是 window.defaultRouteName 這個(gè)字段,這個(gè)字段可以接收從Native傳遞過(guò)來(lái)的參數(shù) (下文我們會(huì)介紹原生傳遞參數(shù)的方法),也就是說(shuō)通過(guò)這個(gè)字段我們就可以進(jìn)行Flutter頁(yè)面的路由的分發(fā)

我們可以直接在Android的 MainActivity 中啟動(dòng)一個(gè) FlutterActivity ,這里的 initialRoute 方法中傳遞的參數(shù)就對(duì)應(yīng)Flutter層的 window.defaultRouteName

注意:需要在 AndroidManifest.xml 注冊(cè) FlutterActivity

自己創(chuàng)建一個(gè) FlutterAppActivity 繼承自 FlutterActivity

在 MainActivity 中啟動(dòng) FlutterAppActivity (另外別忘了在 AndroidManifest.xml 中注冊(cè) FlutterAppActivity )

兩種啟動(dòng)方式的區(qū)別

如果單純只是想打開(kāi)一個(gè)Flutter頁(yè)面,兩種方式實(shí)際上基本沒(méi)有太大區(qū)別,第一種方式也許還會(huì)更簡(jiǎn)單一點(diǎn)。但是,在Flutter開(kāi)發(fā)中,我們往往還需要開(kāi)發(fā)一些Native插件供Flutter調(diào)用,如果使用復(fù)寫 FlutterActivity 的方式更有利于我們?cè)?FlutterActivity 中注冊(cè)我們的Native插件,所以實(shí)際開(kāi)發(fā)中一般推薦使用第二種方式

擴(kuò)展思考

initialRoute 從名稱上看起來(lái)是Flutter提供給我們進(jìn)行Native與Flutter交互的路由跳轉(zhuǎn)的,但是實(shí)際上他就是一個(gè)字符串,我們不僅僅可以傳遞一個(gè)路由名稱,有時(shí)候我們也可以通過(guò)這個(gè)參數(shù)傳遞一串JSON數(shù)據(jù),然后在Flutter端進(jìn)行解析,這樣我們就可以通過(guò)這個(gè)參數(shù)做更多的事情

activity_main.xml

FrameLayout 用于承載Flutter組件

MainActivity.java

使用 FragmentManager 將 FlutterFragment 添加到 FrameLayout 容器中

運(yùn)行結(jié)果

上半部分是原生的TextView,下半部分是Flutter的Text組件

本節(jié)主要介紹了Native和Flutter之間的頁(yè)面跳轉(zhuǎn),以及同一個(gè)頁(yè)面中Native與Flutter組件的組合。接下來(lái)會(huì)介紹如何編寫Android插件與Flutter進(jìn)行數(shù)據(jù)交互


文章題目:flutterxml的簡(jiǎn)單介紹
文章出自:http://weahome.cn/article/dsseiis.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部