重大更改和迁移指南
如 重大更改策略 中所述,有时我们会发布跨重大更改迁移代码的指南。
要收到有关未来重大更改的通知,请加入以下群组:Flutter 公告 和 Dart 公告。
在升级 Flutter 后遇到 Dart 错误时,请考虑使用 dart fix
命令来自动迁移代码。并非所有重大更改都以这种方式得到支持,但许多都支持。
为避免受 Flutter 未来版本的破坏,请考虑将您的测试提交到我们的 测试注册表。
按版本分列的重大变更
#以下指南可用。它们按版本排序,并按字母顺序排列
尚未发布到稳定版
#ImageFilter.blur
默认平铺模式自动选择- 本地化消息生成到源代码中,而不是合成包中
.flutter-plugins-dependencies
替换.flutter-plugins
Color
广色域支持- 删除
InputDecoration.collapsed
的无效参数 - 停止生成
AssetManifest.json
- 弃用
TextField.canRequestFocus
- 将 SystemUiMode 的默认值设置为 Edge-to-Edge
- 弃用
ThemeData.dialogBackgroundColor
,转而使用DialogThemeData.backgroundColor
- 更新 Material 3
Slider
- 更新 Material 3 进度指示器
在 Flutter 3.24 中发布
#在 Flutter 3.22 中发布
#- v3.19 后已删除弃用的 API
- 将
MaterialState
重命名为WidgetState
- 引入新的
ColorScheme
角色 - 放弃对 Android KitKat 的支持
- 可为空的
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 变为可为空
- 将
of
迁移到不可为空的返回值,并添加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 清理
- 引入 package:flutter_lints
- 将 AnimationSheetBuilder.display 替换为 collate
- ThemeData 的 accent 属性已被弃用
- 平台通道测试接口到 flutter_test 包的过渡
- 使用 HTML 插槽在 Web 中渲染平台视图
- 将 Windows 项目迁移到惯用的运行循环
在 2.2 中回退更改
#以下重大更改已在 2.2 版本中回退
- iOS 和 Android 上的网络策略
- 引入版本:2.0.0
回退版本:2.2.0
在 Flutter 2.2 中发布
#在 Flutter 2 中发布
#- 向 TextEditingController.buildTextSpan 添加了 BuildContext 参数
- Android ActivityControlSurface attachToActivity 签名更改
- Android FlutterMain.setIsRunningInRobolectricTest 测试 API 已删除
- 裁剪行为
- v1.22 后已删除弃用的 API
- RenderBox 的干燥布局支持
- 消除 nullOk 参数
- Material 芯片按钮语义
- 由 ScaffoldMessenger 管理的 SnackBars
- TextSelectionTheme 迁移
- 平台通道测试接口到 flutter_test 包的过渡
- 使用 maxLengthEnforcement 而不是 maxLengthEnforced
在 Flutter 1.22 中发布
#在 Flutter 1.20 中发布
#- 操作 API 修订
- 添加 TextInputClient.currentAutofillScope 属性
- 新的按钮和按钮主题
- 对话框的默认 BorderRadius
- Navigator 和 Hero 控制器范围内的更严格断言
- 路由转换记录和转换委托更新
- 在进行命中测试之前,需要对 RenderEditable 进行布局
- 反转调度程序和服务层之间的依赖关系
- 模态路由中叠加项条目的语义顺序
- 向 TextInputClient 添加了 showAutocorrectionPromptRect 方法
- TestWidgetsFlutterBinding.clock
- TextField 需要 MaterialLocalizations
在 Flutter 1.17 中发布
#- 向 TargetPlatform 枚举添加“linux”和“windows”
- 注释返回相对于对象的本地位置
- 容器颜色优化
- CupertinoTabBar 需要 Localizations 父级
- ParentDataWidget 的泛型类型更改为 ParentData
- ImageCache 和 ImageProvider 更改
- ImageCache 大图像
- MouseTracker 已移至渲染
- MouseTracker 不再附加注释
- 可为空的 CupertinoTheme.brightness
- OverlayEntries 和 Routes 的重建优化
- 可滚动的 AlertDialog
- TestTextInput 状态重置
- TextInputClient currentTextEditingValue
- forgetChild() 方法必须调用 super
- 路由和导航器重构
- FloatingActionButton 和 ThemeData 的 accent 属性
除非另有说明,否则本网站上的文档反映了 Flutter 的最新稳定版本。页面上次更新于 2024-11-20。 查看源代码 或 报告问题.