一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Flutter的一些技巧

ss ? 來(lái)源:shusheng007 ? 作者:shusheng007 ? 2021-02-12 11:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

文章目錄

前言

轉(zhuǎn)變思維

命令式

聲明式

結(jié)論

總結(jié)

前言

Flutter 近兩年在江湖上崛起的非常迅猛,業(yè)已成為移動(dòng)開(kāi)發(fā)中不的不重視的一股力量。如果你是一個(gè)有追求的IOS/Android程序員,我想你非常有必要嘗試一下。

我接觸Android開(kāi)發(fā)也有幾年了,前段時(shí)間公司大力推廣Flutter技術(shù),所以有幸嘗試了一下。本人一直信奉善于總結(jié)是不斷進(jìn)步的不二法寶,這樣你才能不斷的超越同行,不被裁員,所以在此準(zhǔn)備以切身體驗(yàn)提供一些快速掌握Flutter的一些技巧。

轉(zhuǎn)變思維

其實(shí)移動(dòng)開(kāi)發(fā)者學(xué)習(xí)Flutter,最關(guān)鍵的就是要轉(zhuǎn)變思維。

眾所周知,F(xiàn)lutter的定位是一套跨平臺(tái)的UI工具箱,所以UI是學(xué)習(xí)Flutter的主要矛盾。下面是官方定義:

Flutter is Google’s UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase

Flutter的UI設(shè)計(jì)采用的是聲明式的風(fēng)格,而Android/Ios采用的是命令式風(fēng)格。 由于我們習(xí)慣了命令式風(fēng)格,突然轉(zhuǎn)向Flutter的話,總是會(huì)以命令式的思維去思考,會(huì)遇到較大麻煩。只要轉(zhuǎn)變了思維,對(duì)于一個(gè)有經(jīng)驗(yàn)的Android/Ios開(kāi)發(fā)者而言,F(xiàn)lutter就變得非常簡(jiǎn)單了。那么什么是聲明式風(fēng)格?什么又是命令式風(fēng)格呢?多說(shuō)無(wú)益,實(shí)例走起…

假設(shè)現(xiàn)在有一個(gè)很簡(jiǎn)單的需求: UI上有個(gè)方塊,要求根據(jù)不同的情形展示不同的顏色,如下圖所示:

下面我們分別用命令式與聲明式實(shí)現(xiàn)上面的需求,看看有什么區(qū)別

命令式

上面的偽代碼展示了,不同條件下,我們通過(guò)調(diào)用View對(duì)象的方法setColor來(lái)修改其顏色屬性,從而達(dá)到改變其顏色的需求。

可見(jiàn),命令式是通過(guò)修改UI對(duì)象的狀態(tài)來(lái)達(dá)到改變UI顯示樣式的,這就意味著此UI對(duì)象必須是可變的,這就要求開(kāi)發(fā)者負(fù)責(zé)維護(hù)這些UI對(duì)象的狀態(tài)。

聲明式

上面的偽代碼展示了,不同的條件下,我們構(gòu)建新的顏色不一樣的View對(duì)象來(lái)實(shí)現(xiàn)改變其顏色的需求。

可見(jiàn),聲明式可以使View對(duì)象為不可變對(duì)象,每次改變UI都是構(gòu)建一個(gè)新的UI對(duì)象,而不是去修改其屬性。

結(jié)論

所以在使用Flutter構(gòu)建UI時(shí)千萬(wàn)不要想著去修改UI對(duì)象的狀態(tài)(屬性),如果UI狀態(tài)變了,例如Textview的內(nèi)容從I love android 變成了I love flutter, 不要想著調(diào)用Textview對(duì)象的方法去修改其文本,而是要以I love flutter為文本去構(gòu)建一個(gè)新的Textview對(duì)象。剩下的就交給Flutter框架吧,其會(huì)幫你重新渲染那些必要的部分。

在Flutter中狀態(tài)和UI(Widget)是分開(kāi)的,當(dāng)我們要刷新UI的時(shí)候,只需要準(zhǔn)備好狀態(tài),然后Flutter框架就會(huì)使用這些新的狀態(tài)重新構(gòu)建新的Widget。

讓我們通過(guò)一個(gè)實(shí)例感受一下

下面的代碼,構(gòu)建了如下一個(gè)非常簡(jiǎn)單的頁(yè)面,由于我們isLoveAndroid為true,所以Flutter就為我們構(gòu)建了一個(gè)展示I love Android的Text控件。

總結(jié)

只要轉(zhuǎn)變了思維,在使用Flutter搭建UI的時(shí)候就會(huì)顯得很順暢,特別是設(shè)計(jì)復(fù)雜UI的時(shí)候,不會(huì)進(jìn)入死胡同。

責(zé)任編輯:xj

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3973

    瀏覽量

    130282
  • iOS
    iOS
    +關(guān)注

    關(guān)注

    8

    文章

    3399

    瀏覽量

    153124
  • ui
    ui
    +關(guān)注

    關(guān)注

    0

    文章

    208

    瀏覽量

    21809
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    使用 Flutter SDK 3.27.4構(gòu)建HarmonyOS應(yīng)用

    使用 Flutter SDK 3.27.4構(gòu)建HarmonyOS應(yīng)用 下載鴻蒙版flutter(3.27.4版本) 項(xiàng)目地址:https://gitcode.com/openharmony-sig
    的頭像 發(fā)表于 06-11 09:15 ?328次閱讀

    Flutter on Raspberry Pi:從入門(mén)到精通的完整指南!

    在GoogleIO會(huì)議上展示了個(gè)在樹(shù)莓派上運(yùn)行Flutter的可能性。然而,該會(huì)議并未提供全面的、步的指南供用戶參考。本文旨在填補(bǔ)這
    的頭像 發(fā)表于 06-06 15:37 ?897次閱讀
    <b class='flag-5'>Flutter</b> on Raspberry Pi:從入門(mén)到精通的完整指南!

    鴻蒙Flutter實(shí)戰(zhàn):14-現(xiàn)有Flutter 項(xiàng)目支持鴻蒙 II

    引言 在之前的文章鴻蒙Flutter實(shí)戰(zhàn):09-現(xiàn)有Flutter項(xiàng)目支持鴻蒙中,介紹了如何改造項(xiàng)目,適配鴻蒙平臺(tái)。 文中講述了整體的理念和思路,本文更進(jìn)步,結(jié)合可實(shí)操的項(xiàng)目代碼,詳細(xì)說(shuō)明如何實(shí)施
    發(fā)表于 12-26 14:59

    一些常見(jiàn)的動(dòng)態(tài)電路

    無(wú)論是模電還是數(shù)電,理論知識(shí)相對(duì)來(lái)說(shuō)還是比較枯燥,各種電路原理理解清楚不算容易,換種生動(dòng)形象的方式或許會(huì)增加一些趣味性,也更容易理解這些知識(shí)。下面整理了一些常見(jiàn)的電路,以動(dòng)態(tài)圖形的方式展示。 整流
    的頭像 發(fā)表于 11-16 09:26 ?1139次閱讀
    <b class='flag-5'>一些</b>常見(jiàn)的動(dòng)態(tài)電路

    分享一些常見(jiàn)的電路

    理解模電和數(shù)電的電路原理對(duì)于初學(xué)者來(lái)說(shuō)可能比較困難,但通過(guò)一些生動(dòng)的教學(xué)方法和資源,可以有效地提高學(xué)習(xí)興趣和理解能力。 下面整理了一些常見(jiàn)的電路,以動(dòng)態(tài)圖形的方式展示。 整流電路 單相橋式整流
    的頭像 發(fā)表于 11-13 09:28 ?835次閱讀
    分享<b class='flag-5'>一些</b>常見(jiàn)的電路

    鴻蒙Flutter實(shí)戰(zhàn):12-使用模擬器開(kāi)發(fā)調(diào)試

    前提 開(kāi)發(fā)電腦需為M系列芯片 (ARM架構(gòu)) 的 Mac 電腦 目前 Flutter 鴻蒙開(kāi)發(fā),無(wú)法使用 X86 架構(gòu)的模擬器,只能使用 ARM 架構(gòu)的模擬器** 創(chuàng)建項(xiàng)目 等開(kāi)發(fā)環(huán)境搭建
    發(fā)表于 11-10 13:13

    鴻蒙Flutter實(shí)戰(zhàn):11-使用 Flutter SDK 3.22.0

    創(chuàng)建了條配置 flutter sdk 的項(xiàng)目: \"dart.flutterSdkPath\": \".fvm/versions/custom_3.22.0\"
    發(fā)表于 11-01 15:03

    鴻蒙Flutter實(shí)戰(zhàn):10-常見(jiàn)問(wèn)題集合

    # 鴻蒙Flutter實(shí)戰(zhàn):10-常見(jiàn)問(wèn)題集合 ## 1. 學(xué)習(xí)路徑應(yīng)該是怎樣的,需要掌握哪些技術(shù)才具備鴻蒙 Flutter 開(kāi)發(fā)能力 1.1 學(xué)習(xí)和掌握 Flutter 開(kāi)發(fā)技術(shù),這塊需要
    發(fā)表于 10-23 17:05

    鴻蒙Flutter實(shí)戰(zhàn):09-現(xiàn)有Flutter項(xiàng)目支持鴻蒙

    ,主要為項(xiàng)目的一些特定配置,如主題、路由等,以及App入口初始化配置。 編輯 pubspec.yaml 文件,添加組件和模塊依賴。 environment: sdk: \'>=2.19.6
    發(fā)表于 10-23 16:36

    鴻蒙Flutter實(shí)戰(zhàn):08-如何調(diào)試代碼

    個(gè)是 Attach 模式,個(gè)是普通的運(yùn)行模式。 3.查看日志 查看日志,可以在運(yùn)行Flutter處的IDE調(diào)試控制臺(tái)查看 Flutter 項(xiàng)目日志,可以使用 hdc hilog 命令或DevEco 查看系統(tǒng)日志
    發(fā)表于 10-23 16:29

    鴻蒙Flutter實(shí)戰(zhàn):07混合開(kāi)發(fā)

    已經(jīng)跑通,但仍然存在一些潛在的坑需要解決和處理,歡迎大家起分享交流 小助手: 備注:鴻蒙Flutter wx:zacksleo
    發(fā)表于 10-23 16:00

    鴻蒙Flutter實(shí)戰(zhàn):06-使用ArkTs開(kāi)發(fā)Flutter鴻蒙插件

    # 使用 ArkTs 開(kāi)發(fā) Flutter 鴻蒙平臺(tái)插件 本文講述如何開(kāi)發(fā)個(gè) Flutter 鴻蒙插件,如何實(shí)現(xiàn) Flutter 與鴻蒙的混合開(kāi)發(fā),以及雙端消息通信。 ##
    發(fā)表于 10-22 21:56

    鴻蒙Flutter實(shí)戰(zhàn):05-使用第三方插件

    # 鴻蒙Flutter 實(shí)戰(zhàn):使用第三方插件 在鴻蒙Flutter開(kāi)發(fā)中,如果涉及到使用原生功能,就要使用插件。使用插件有兩種方式,種是自己編寫(xiě)原生ArkTS代碼,在Dart側(cè)調(diào)用。另外
    發(fā)表于 10-22 21:54

    鴻蒙Flutter實(shí)戰(zhàn):01-搭建開(kāi)發(fā)環(huán)境

    \'*\' 案例 Webview集成 Flutter 鴻蒙交流群 【flutter鴻蒙技術(shù)交流群】 目前 Flutter 鴻蒙已經(jīng)跑通,但仍然存在一些潛在的坑需要解決和處理,歡迎大
    發(fā)表于 10-21 19:35

    LED驅(qū)動(dòng)器應(yīng)用的一些指南和技巧

    電子發(fā)燒友網(wǎng)站提供《LED驅(qū)動(dòng)器應(yīng)用的一些指南和技巧.pdf》資料免費(fèi)下載
    發(fā)表于 09-25 11:35 ?0次下載
    LED驅(qū)動(dòng)器應(yīng)用的<b class='flag-5'>一些</b>指南和技巧