v3.13 后移除的已弃用 API
摘要
#根据 Flutter 的弃用策略,在 3.13 稳定版发布后达到生命周期结束的已弃用 API 已被移除。
所有受影响的 API 已编译到此主要来源,以帮助迁移。为了进一步帮助您的迁移,请查看此快速参考表。
更改
#本节按软件包和受影响的类列出已弃用的 API。
Chip 类中的 useDeleteButtonTooltip
#软件包:flutter Flutter Fix 支持:是
以下类的 useDeleteButtonTooltip
属性在 v2.10 中已弃用
DeletableChipAttributes
Chip
RawChip
InputChip
deleteButtonTooltipMessage
替换了 useDeleteButtonTooltip
。此更改简化了 API,因为向 deleteButtonTooltipMessage
提供空字符串与将原始属性 useDeleteButtonTooltip
设置为 false 的效果相同。当 deleteButtonTooltipMessage
未设置时,默认使用 MaterialLocalizations.deleteButtonTooltip
。
该弃用 Chip 的 useDeleteButtonTooltip设计文档更深入地介绍了此 Chip 和工具提示的更新。要了解更多信息,请查看Chip 和工具提示迁移指南。
迁移指南
迁移前代码
Chip(useDeleteButtonTooltip: false);
InputChip(useDeleteButtonTooltip: true);
RawChip rawChip = RawChip();
rawChip.useDeleteButtonTooltip;
迁移后代码
Chip(deleteButtonTooltipMessage: '');
InputChip();
RawChip rawChip = RawChip();
rawChip.deleteButtonTooltipMessage;
参考
API 文档
相关 PR
MaterialButtonWithIconMixin
#软件包:flutter Flutter Fix 支持:否
MaterialButtonWithIconMixin
属性在 v2.11 中已弃用。
随着新的按钮类 TextButton
、OutlinedButton
和 ElevatedButton
的引入,此混合类不再使用。较早的版本删除了使用此混合类的旧按钮类。因此,此混合类不再影响可能混合其中的任何类。
迁移指南
迁移前代码
class MyButtonClass extends StatelessWidget with MaterialButtonWithIconMixin {
// ...
}
迁移后代码
class MyButtonClass extends StatelessWidget {
// ...
}
参考
相关 PR
PlatformsViewsService.synchronizeToNativeViewHierarchy
#软件包:flutter Flutter Fix 支持:否
PlatformsViewsService
的静态方法 synchronizeToNativeViewHierarchy
在 v2.11 中已弃用。
在弃用期间,该方法是一个空操作函数,因为它不再需要调用以进行性能改进。应删除对该方法的引用,并且不会影响应用程序。
迁移指南
迁移前代码
await PlatformsViewsService.synchronizeToNativeViewHierarchy(false);
迁移后代码
参考
API 文档
相关 PR
TextSelectionOverlay.fadeDuration
#软件包:flutter Flutter Fix 支持:是
TextSelectionOverlay
的静态 fadeDuration
属性在 v2.12 中已弃用。
SelectionOverlay.fadeDuration
属性替换了 TextSelectionOverlay.fadeDuration
。随着 TextSelectionOverlay
的重构,SelectionOverlay
作为更通用的 widget 添加,没有对 RenderEditable
的特定依赖。
迁移指南
迁移前代码
TextSelectionOverlay.fadeDuration;
迁移后代码
SelectionOverlay.fadeDuration;
参考
API 文档
相关 PR
androidOverscrollIndicator
#软件包:flutter Flutter Fix 支持:否
以下类的 androidOverscrollIndicator
属性在 v2.13 中已弃用
ScrollBehavior
MaterialScrollBehavior
ThemeData
引入此标志是为了允许用户配置滚动 widget 以使用 GlowingOverscrollIndicator
或 StretchingOvercrollIndicator
。它已弃用,取而代之的是 ThemeData.useMaterial3
标志,因为框架引入了对 Material 3 风格 widget 的更多支持。
由于 ThemeData.useMaterial3
默认情况下为 true
,因此默认应用 StretchingOverscrollIndicator
。将此值设置为 false
将改为应用 GlowingOverscrollIndicator
。
或者,可以覆盖 ScrollBehavior
或 MaterialScrollBehavior
的 buildOverscrollIndicator
方法以进一步更改过度滚动指示器的外观。
迁移指南
迁移前代码
MaterialApp(
scrollBehavior: MaterialScrollBehavior(
androidOverscrollIndicator: AndroidOverscrollIndicator.glow,
),
//...
);
MaterialApp(
scrollBehavior: ScrollBehavior(
androidOverscrollIndicator: AndroidOverscrollIndicator.glow,
),
//...
);
MaterialApp(
theme: Theme.light().copyWith(
androidOverscrollIndicator: AndroidOverscrollIndicator.glow,
),
//...
);
迁移后代码
MaterialApp(
theme: Theme.light().copyWith(
// defaults to true and stretching indicator,
// false results in glowing indicator
useMaterial3: false,
),
//...
);
参考
API 文档
ScrollBehavior
MaterialScrollBehavior
ThemeData
GlowingOverscrollIndicator
StretchingOverscrollIndicator
相关 PR
ImageProvider 和 PaintingBinding 的更新
#软件包:flutter Flutter Fix 支持:否
PaintingBinding
的 instantiateImageCodec
方法以及 ImageProvider
的 load
方法和关联的 DecoderCallback
均在 v2.13 中已弃用。
相应的替换方法为
已弃用方法 | 当前方法 |
---|---|
PaintingBinding.instantiateImageCodec | PaintingBinding.instantiateImageCodecFromBuffer |
ImageProvider.load | ImageProvider.loadBuffer |
DecoderCallback | DecoderBufferCallback |
此更改通过使用缓冲区实现了更快的图像加载性能。
迁移指南
迁移前代码
PaintingBinding.instance.instantiateImageCodec
迁移后代码
PaintingBinding.instance.instantiateImageCodecFromBuffer
参考
API 文档
相关 PR
TestWindow 属性
#软件包:flutter_test Flutter Fix 支持:否
为了准备多窗口支持,已删除 TestWindow
的许多已弃用属性。虽然 TestWindow
已弃用,但目前不符合移除条件。现在迁移已过期的属性将有助于从 TestWindow
迁移。
已移除以下属性
localeTestValue
clearLocaleTestValue
localesTestValue
clearLocalesTestValue
initialLifecycleStateTestValue
textScaleFactorTestValue
clearTextScaleFactorTestValue
platformBrightnessTestValue
clearPlatformBrightnessTestValue
alwaysUse24HourFormatTestValue
clearAlwaysUse24HourTestValue
brieflyShowPasswordTestValue
defaultRouteNameTestValue
clearDefaultRouteNameTestValue
semanticsEnabledTestValue
clearSemanticsEnabledTestValue
accessibilityFeaturesTestValue
clearAccessibilityFeaturesTestValue
要了解有关此 TestWindow
更新的更多信息,请查看TestWindow
迁移指南。
迁移指南
迁移前代码
testWidgets('My test', (WidgetTester tester) aysnc {
// For all instances, replace window with platformDispatcher
tester.binding.window.textScaleFactorTestValue = 42;
addTearDown(tester.binding.window.clearTextScaleFactorTestValue);
// ...
});
迁移后代码
testWidgets('My test', (WidgetTester tester) aysnc {
// For all instances, replace window with platformDispatcher
tester.binding.platformDispatcher.textScaleFactorTestValue = 42;
addTearDown(tester.binding.platformDispatcher.clearTextScaleFactorTestValue);
// ...
});
参考
API 文档
相关 PR
时间线
#稳定版:3.16
除非另有说明,否则本网站上的文档反映了 Flutter 的最新稳定版本。页面上次更新于 2024-06-01。 查看源代码 或 报告问题。