色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Flutter的一些技巧

ss ? 來源:shusheng007 ? 作者:shusheng007 ? 2021-02-12 11:46 ? 次閱讀

文章目錄

前言

轉變思維

命令式

聲明式

結論

總結

前言

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

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

轉變思維

其實移動開發(fā)者學習Flutter,最關鍵的就是要轉變思維。

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

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

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

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

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

命令式

上面的偽代碼展示了,不同條件下,我們通過調用View對象的方法setColor來修改其顏色屬性,從而達到改變其顏色的需求。

可見,命令式是通過修改UI對象的狀態(tài)來達到改變UI顯示樣式的,這就意味著此UI對象必須是可變的,這就要求開發(fā)者負責維護這些UI對象的狀態(tài)。

聲明式

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

可見,聲明式可以使View對象為不可變對象,每次改變UI都是構建一個新的UI對象,而不是去修改其屬性。

結論

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

在Flutter中狀態(tài)和UI(Widget)是分開的,當我們要刷新UI的時候,只需要準備好狀態(tài),然后Flutter框架就會使用這些新的狀態(tài)重新構建新的Widget。

讓我們通過一個實例感受一下

下面的代碼,構建了如下一個非常簡單的頁面,由于我們isLoveAndroid為true,所以Flutter就為我們構建了一個展示I love Android的Text控件。

總結

只要轉變了思維,在使用Flutter搭建UI的時候就會顯得很順暢,特別是設計復雜UI的時候,不會進入死胡同。

責任編輯:xj

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

    關注

    12

    文章

    3937

    瀏覽量

    127503
  • iOS
    iOS
    +關注

    關注

    8

    文章

    3395

    瀏覽量

    150701
  • ui
    ui
    +關注

    關注

    0

    文章

    204

    瀏覽量

    21388
收藏 人收藏

    評論

    相關推薦

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

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

    一些常見的動態(tài)電路

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

    分享一些常見的電路

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

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

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

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

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

    鴻蒙Flutter實戰(zhàn):10-常見問題集合

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

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

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

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

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

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

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

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

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

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

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

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

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

    LED驅動器應用的一些指南和技巧

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

    Flutter首次亮相Google Cloud Next大會

    Flutter 團隊在近期首次參加了 Google Cloud Next 大會,這意味著 Flutter 在開發(fā)社區(qū)中的影響力正在日益增長。
    的頭像 發(fā)表于 05-09 10:15 ?498次閱讀

    淺談兼容 OpenHarmony 的 Flutter

    OpenHarmony SIG 組織在 Gitee 開源了兼容 OpenHarmony 的 Flutter。該組織主要用于孵化 OpenHarmony 相關的開源生態(tài)項目。 ? ? ▲ 倉庫地址
    的頭像 發(fā)表于 02-02 15:22 ?620次閱讀
    淺談兼容 OpenHarmony 的 <b class='flag-5'>Flutter</b>
    主站蜘蛛池模板: 久久亚洲精品无码A片大香大香| 最近韩国日本免费观看mv免费版| 国产亚洲精品久久久久久久| 中文视频在线观看| 日韩人妻无码精品-专区| 久草在线草a免费线看| 被黑人做的白浆直流| 亚洲在线成色综合网站| 色多多污污版免费下载安装| 久久精品AV无码亚洲色欲| 国产精品视频免费视频| 99久久精品免费看国产一区二区| 亚洲精品免费网站| 日日摸天天添天天添无码蜜臀| 快播最新电影网站| 国产在线观看成人免费视频| 抽插喷S骚爽去了H| 97视频视频人人碰视频| 艳照门在线播放| 贤妻良母电影日本| 三级视频黄色| 全部老头和老太XXXXX| 美女露100%全身无遮挡| 精品四虎国产在免费观看| 国产精品亚洲欧美一区麻豆| 岛国片在线看| WRITEAS检查身体| 97ganmeizi| 中文字幕 日韩 无码 在线| 亚洲免费久久| 亚洲成人三级| 校花的奶好大好浪| 同时和两老师双飞| 日本一二三区视频在线| 青娱乐极品视觉盛宴av| 欧美激情一区二区三区视频| 妈妈的职业3完整版在线播放| 久久久久久免费观看| 久久国产精品人妻中文| 久草在线在线精品观看| 精品无人区麻豆乱码无限制|