|
其實(shí)在每個(gè)版本的更新中呢,都會(huì)合并很多很多的這個(gè)合并請(qǐng)求、還有開發(fā)建議,那么本版本的也不例外,社區(qū)官方發(fā)布的公告是合并了168個(gè)社區(qū)成員的1429個(gè)拉請(qǐng)求。 當(dāng)然,如果你的時(shí)間允許的話,你可以去查看一下這些請(qǐng)求,對(duì)開發(fā)者來(lái)講肯定是受益匪淺的。小編這里使用 fvm來(lái)管理Flutter多版本SDK,現(xiàn)在來(lái)下載新版本體驗(yàn)一波。
人工智能集成Google AI Dart SDK已經(jīng)發(fā)布測(cè)試版。能夠在Dart或Flutter應(yīng)用程序中構(gòu)建生成式AI功能,該應(yīng)用程序由Google最新的AI模型家族Gemini提供支持。 在pub中搜索 google_generative_ai 可以來(lái)嘗試使用,不過(guò)當(dāng)前在國(guó)內(nèi)使用還是需要折騰一下的。
滾動(dòng)的改進(jìn)(Scrolling)如果你拖動(dòng)兩個(gè)手指,F(xiàn)lutter的滾動(dòng)速度會(huì)快一倍?,F(xiàn)在可以用MultiTouchDragStrategy來(lái)配置默認(rèn)的滾動(dòng)行為。latestPointer獲取與手指數(shù)無(wú)關(guān)的滾動(dòng)行為。
核心代碼塊如下: 也修復(fù)了SingleChildScrollView和ReorderableList的bug,并解決了一些報(bào)告的崩潰和意外行為。 在二維滾動(dòng)中,解決了一個(gè)問(wèn)題,如果開發(fā)者在滾動(dòng)過(guò)程中拖動(dòng)或點(diǎn)擊,滾動(dòng)活動(dòng)會(huì)像預(yù)期的那樣停止。
AnimationStyle可以讓開發(fā)者快速覆蓋Widget默認(rèn)的動(dòng)畫效果,在入口中配置 如官方提到的PopupMenuButton: 可以動(dòng)態(tài)修改按鈕彈框彈出時(shí)的動(dòng)畫效果以及時(shí)間。 SegmentedButton.styleFrom用來(lái)快速創(chuàng)建分段按鈕的按鈕樣式,使用方法如下: 效果如下:
Adaptive Switch所有的跨平臺(tái)開發(fā),都有一個(gè)小小的期許,就是效果無(wú)限接近于原生開發(fā)的效果,但總是差那么一點(diǎn)點(diǎn),Adaptive Switch 可以讓 Widget 在 macOS 和 iOS 上看起來(lái)和感覺是原生的效果,并且在其他地方具有 Material Design 的外觀和感覺,但它不依賴于 Cupertino 庫(kù)。 核心使用代碼如下: 效果如下
MaterialStatesController輸入框的狀態(tài)監(jiān)聽控制器,核心使用代碼如下: Android OpenGL preview在Flutter 3.16 穩(wěn)定版本中,F(xiàn)lutter 官方邀請(qǐng)了用戶在支持 Vulkan 的 Android 設(shè)備上試用 Impeller,覆蓋了該領(lǐng)域 77% 的 Android 設(shè)備,到現(xiàn)在,F(xiàn)lutter 官方團(tuán)隊(duì)讓 Impeller 的 OpenGL 達(dá)到了與 Vulkan 同等的功能。 這意味著幾乎所有 Android 設(shè)備上的 Flutter 應(yīng)用都有望支持 Impeller 渲染,當(dāng)然還有少數(shù)的功能除外,如自定義著色器、外部紋理。 Vulkan 是 Android 上的主要底層圖形 API。Vulkan 可為實(shí)現(xiàn)自己的游戲引擎和渲染程序的游戲提供最佳性能。 Roadmap在渲染保真度之后,F(xiàn)lutter團(tuán)隊(duì)在 Impeller Android 預(yù)覽期間主要關(guān)注的是性能,同時(shí)還期望渲染策略的變化 ,不再是先模板后覆蓋,期望實(shí)現(xiàn)降低Android和iOS的 Impeller對(duì)CPU的利用率, 輸入框分享按鈕支持Android 平臺(tái)上 Flutter 之前缺少默認(rèn) “share” 按鈕,3.19.0后開始支持,效果如下:
支持自定義文本選擇菜單,核心使用代碼如下: CustomTextSelectionToolbar 是小編自定的,如有需要,可以回復(fù)小編,代碼過(guò)長(zhǎng),所以沒(méi)有寫在這個(gè)文章中,效果如下:
字體方面在 iOS方面,之前是所有情況下使用更小、間距更大的字體。 根據(jù)蘋果設(shè)計(jì)指南,iOS上較小的字體應(yīng)該更加分散,以便在移動(dòng)設(shè)備上更容易閱讀,較大的字體應(yīng)該緊湊,新版本的Flutter在字體方面,在iOS設(shè)備上支持了這個(gè)指南,新版本的Flutter應(yīng)用,文本在iOS設(shè)備上看起來(lái)更緊湊,更像是iOS原生開發(fā)。 Flutter 與 Native從開發(fā)APP的角度來(lái)講,就是Flutter調(diào)用原生代碼的能力,如 Java/Kotlin 和 Objective C/Swift。 Native Assets 可以讓 Dart 包更無(wú)縫依賴和使用 Native 代碼,開啟支持命令如下: 具體的使用案例,會(huì)在后續(xù)的文章中發(fā)布。 當(dāng)然每個(gè)版本的發(fā)布,也會(huì)伴隨著 DevTools的更新,本文章就不再概述它的內(nèi)容了,小編還沒(méi)去實(shí)踐它的功能。 |
|
|