【问题标题】:setEnabledSystemUIOverlays is deprecated and shouldn't be used. Migrate to setEnabledSystemUIModesetEnabledSystemUIOverlays 已弃用,不应使用。迁移到 setEnabledSystemUIMode
【发布时间】:2021-11-18 09:49:26
【问题描述】:

我使用以下代码只显示状态栏。

SystemChrome.setEnabledSystemUIOverlays([
  SystemUiOverlay.top
])

但它开始给我一个警告:

setEnabledSystemUIOverlays 已弃用,不应使用。迁移到 setEnabledSystemUIMode。

那么,我该如何解决呢?

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    使用setEnabledSystemUIMode并提供SystemUiMode.manual,如下所示:

    SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: [
      SystemUiOverlay.top
    ]);
    

    你也可以使用SystemUiMode

    1. 隐藏两个叠加层:

      SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky);
      
    2. 显示两个叠加层:

      SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge);
      

    【讨论】:

      【解决方案2】:

      使用 setEnabledSystemUIMode 代替 setEnabledSystemUIOverlays。 示例:

        SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.bottom, SystemUiOverlay.top]);
      

      改成:

        SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: [SystemUiOverlay.bottom, SystemUiOverlay.top]);
      

      【讨论】:

      • 我已经在回答中提到了这件事。抱歉,您的代码没有增加任何价值。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-17
      • 2021-04-30
      • 2021-04-03
      • 1970-01-01
      • 2022-07-01
      • 1970-01-01
      相关资源
      最近更新 更多