概述

#

Material 庫已更新,以匹配最新的 Material Design 規範。更改包括新的元件、新的元件主題和更新的元件視覺效果。自此版本釋出以來,ThemeData.useMaterial3 預設設定為 true

背景

#

Flutter 的 Material 元件現已完全支援 Material 3,並且自 Flutter 3.16 起,Material 3 已成為預設樣式。

Material 3 元件的外觀主要由 ThemeData.colorSchemeThemeData.textTheme 的值決定。ColorScheme 使建立深色和淺色主題更加容易,從而使您的應用既美觀又符合可訪問性要求。要進一步自定義 Material 3 元件的外觀,請將元件主題新增到您的 ThemeData 中,例如 ThemeData.segmentedButtonThemeThemeData.snackBarTheme

此外,Material 3 透過使用緩動和持續時間令牌來改進動畫效果。這意味著 Material 2 的曲線已被重新命名,以包含“legacy”一詞,並且最終將被棄用和移除。

請檢視 Material 3 gallery 來測試所有新元件並將其與 Material 2 進行比較。

遷移指南

#

在 3.16 版本釋出之前,這些更改是“選擇加入”的,透過在 ThemeData 上使用 useMaterial3 主題屬性。自此版本釋出以來,useMaterial3 預設設定為 true。您仍然可以透過在 MaterialApp 主題中指定 useMaterial3: false 來選擇退出 Material 3 版本的 Material 庫。

此外,一些元件無法簡單地更新,而是需要全新的實現。因此,當您看到 Material 3 執行時,您的 UI 可能會顯得有些奇怪。要解決此問題,請手動遷移到新元件,例如 NavigationBar

有關更多詳細資訊,請檢視 GitHub 上的 Material 3 彙總問題

時間線

#

已於版本中釋出:3.13.0-4.0.pre
穩定版本:3.16

參考資料

#

文件

API 文件

相關問題

相關 PR