重大變更與遷移指南
如重大變更政策所述,我們有時會發布程式碼遷移指南,以協助處理重大變更。
若要接收未來重大變更的通知,請加入 Flutter announce 和 Dart announce 群組。
在升級 Flutter 後遇到 Dart 錯誤時,請考慮使用 dart fix
指令來自動遷移您的程式碼。並非所有重大變更都以這種方式支援,但其中許多是。
為了避免未來 Flutter 版本造成損壞,請考慮將您的測試提交至我們的測試註冊處。
依發行版本分類的重大變更
#以下是可用的指南。它們按照發布版本排序,並依字母順序列出
尚未發佈至穩定版本
#ImageFilter.blur
預設平鋪模式自動選取- 本地化訊息會產生到來源中,而不是合成套件
.flutter-plugins-dependencies
取代.flutter-plugins
Color
寬色域支援- 移除
InputDecoration.collapsed
的無效參數 - 停止產生
AssetManifest.json
- 棄用
TextField.canRequestFocus
- 將 SystemUiMode 的預設值設定為邊緣到邊緣
- 棄用
ThemeData.dialogBackgroundColor
,改用DialogThemeData.backgroundColor
- 已更新 Material 3
Slider
- 已更新 Material 3 進度指示器
在 Flutter 3.24 中發佈
#在 Flutter 3.22 中發佈
#- 在 v3.19 後移除已棄用的 API
- 將
MaterialState
重新命名為WidgetState
- 引入新的
ColorScheme
角色 - 停止支援 Android KitKat
- 可為 Null 的
PageView.controller
- 將
MemoryAllocations
重新命名為FlutterMemoryAllocations
在 Flutter 3.19 中發佈
#- 在 v3.16 後移除已棄用的 API
- 將 RawKeyEvent/RawKeyboard 系統遷移至 KeyEvent/HardwareKeyboard 系統
- 棄用 Flutter Gradle 外掛程式的命令式應用
- 預設多點觸控捲動
- 變更工具提示的協助工具遍歷順序
在 Flutter 3.16 中發布
#- 遷移至 Material 3
- 將 ShortcutActivator 和 ShortcutManager 遷移至 KeyEvent 系統
- 現在預設將
ThemeData.useMaterial3
屬性設定為 true - 在 v3.13 後移除已棄用的 API
- 使用新的
TabBar.tabAlignment
屬性來自訂標籤對齊方式 - 棄用
textScaleFactor
,改用TextScaler
- 已啟用 Android 14 非線性字型縮放
- 棄用
describeEnum
並更新EnumProperty
以嚴格類型化 - 棄用適用於 Android 預測式返回的即時導覽彈出式 API
- 棄用
Paint.enableDithering
- 已更新選單的預設文字樣式
- Windows:外部視窗應通知 Flutter 引擎生命週期變更
- Windows 建置路徑已變更以新增目標架構
在 Flutter 3.13 中發布
#- 在 Flutter 中為某些可處置的物件新增遺失的
dispose()
- 在 v3.10 後移除已棄用的 API
- 新增
AppLifecycleState.hidden
列舉值 - 將
ReorderableListView
的本地化字串從 material 移至 widgets 本地化 - 移除
ignoringSemantics
屬性 - 棄用
RouteInformation.location
及其相關 API - 已更新
EditableText
捲動至檢視行為 - 遷移 Windows 專案以確保顯示視窗
- 已更新
Checkbox.fillColor
行為
在 Flutter 3.10 中發布
#- Flutter v3.10 及更高版本中的 Dart 3 變更
- 在 v3.7 後移除已棄用的 API
- 插入內容文字輸入用戶端
- 棄用視窗單例
- 解決 Android Java Gradle 錯誤
- 為
ClipboardData
建構函式要求一個資料變體 - 「區域不符」訊息
在 Flutter 3.7 中發布
#- 在 v3.3 後移除已棄用的 API
- 使用泛型小工具建構器取代自訂關聯式選單的參數
- iOS FlutterViewController splashScreenView 可為 Null
- 將
of
遷移至不可為 Null 的傳回值,並新增maybeOf
- 移除
RouteSettings.copyWith
ThemeData
的toggleableActiveColor
屬性已棄用- 遷移 Windows 專案以支援深色標題列
在 Flutter 3.3 中發布
#- 新增
ImageProvider.loadBuffer
- 桌面上的預設
PrimaryScrollController
- 觸控板手勢可以觸發
GestureRecognizer
- 遷移 Windows 專案以設定版本資訊
在 Flutter 3 中發布
#- 在 v2.10 後移除已棄用的 API
- 將
useDeleteButtonTooltip
遷移至 Chips 的deleteButtonTooltipMessage
- 頁面轉換已由
ZoomPageTransitionsBuilder
取代
在 Flutter 2.10 中發布
#在 Flutter 2.5 中發布
#- 預設拖曳捲動裝置
- 在 v2.2 後移除已棄用的 API
- 變更
enterText
方法,將插入符號移至輸入文字的結尾 GestureRecognizer
清理- 引入套件:flutter_lints
- 以
collate
取代AnimationSheetBuilder.display
ThemeData
的強調屬性已棄用- 將平台通道測試介面轉換至 flutter_test 套件
- 使用 HTML 插槽在 Web 中算繪平台檢視
- 遷移 Windows 專案至慣用執行迴圈
在 2.2 中還原變更
#下列重大變更已在 2.2 版本中還原
- iOS 和 Android 上的網路原則
- 於版本中引入:2.0.0
於版本中還原:2.2.0
在 Flutter 2.2 中發布
#在 Flutter 2 中發布
#- 將
BuildContext
參數新增至TextEditingController.buildTextSpan
- Android
ActivityControlSurface
attachToActivity
簽章變更 - 移除 Android
FlutterMain.setIsRunningInRobolectricTest
測試 API - 剪輯行為
- 在 v1.22 後移除已棄用的 API
RenderBox
的虛擬配置支援- 消除 NullOk 參數
- Material Chip 按鈕語意
- 由
ScaffoldMessenger
管理的SnackBars
TextSelectionTheme
遷移- 將平台通道測試介面轉換至 flutter_test 套件
- 使用
maxLengthEnforcement
而非maxLengthEnforced
在 Flutter 1.22 中發布
#在 Flutter 1.20 中發布
#- Actions API 修訂
- 新增
TextInputClient.currentAutofillScope
屬性 - 新的按鈕和按鈕主題
- 對話框的預設 BorderRadius
- 在導覽器和 Hero 控制器範圍中進行更嚴格的判斷提示
- 路由轉換記錄和轉換委派更新
RenderEditable
需要在點擊測試前配置版面- 反轉排程器和服務層之間的相依性
- 模式路由中覆疊項目的語意順序
- 將
showAutocorrectionPromptRect
方法新增至TextInputClient
TestWidgetsFlutterBinding.clock
TextField
需要MaterialLocalizations
在 Flutter 1.17 中發布
#- 將 'linux' 和 'windows' 新增至
TargetPlatform
列舉 - 註解傳回相對於物件的本機位置
- Container 顏色最佳化
CupertinoTabBar
需要Localizations
父系ParentDataWidget
的泛型類型變更為ParentData
ImageCache
和ImageProvider
變更ImageCache
大型影像MouseTracker
已移至算繪MouseTracker
不再附加註解- 可為 Null 的
CupertinoTheme.brightness
OverlayEntries
和Routes
的重建最佳化- 可捲動的
AlertDialog
TestTextInput
狀態重設TextInputClient
currentTextEditingValue
forgetChild()
方法必須呼叫super
Route
和Navigator
重構FloatingActionButton
和ThemeData
的強調屬性
除非另有說明,否則本網站上的文件會反映 Flutter 的最新穩定版本。頁面最後更新於 2024-11-20。 檢視來源 或 回報問題。