【发布时间】:2021-11-18 09:49:26
【问题描述】:
我使用以下代码只显示状态栏。
SystemChrome.setEnabledSystemUIOverlays([
SystemUiOverlay.top
])
但它开始给我一个警告:
setEnabledSystemUIOverlays 已弃用,不应使用。迁移到 setEnabledSystemUIMode。
那么,我该如何解决呢?
【问题讨论】:
我使用以下代码只显示状态栏。
SystemChrome.setEnabledSystemUIOverlays([
SystemUiOverlay.top
])
但它开始给我一个警告:
setEnabledSystemUIOverlays 已弃用,不应使用。迁移到 setEnabledSystemUIMode。
那么,我该如何解决呢?
【问题讨论】:
使用setEnabledSystemUIMode并提供SystemUiMode.manual,如下所示:
SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: [
SystemUiOverlay.top
]);
你也可以使用SystemUiMode
隐藏两个叠加层:
SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky);
显示两个叠加层:
SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge);
【讨论】:
使用 setEnabledSystemUIMode 代替 setEnabledSystemUIOverlays。 示例:
SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.bottom, SystemUiOverlay.top]);
改成:
SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: [SystemUiOverlay.bottom, SystemUiOverlay.top]);
【讨论】: