将其设置为沉浸式粘性时的黑色状态栏

问题描述 投票:0回答:1

我尝试删除应用程序上的状态栏,我找到的解决方案包括:

SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky);

但问题是当我在页面的 main() 或 init() 中设置它时,这两种方式我都会看到黑色状态栏。

我尝试过以下方法:

  • 将状态栏设置为透明
  • 将状态栏设置为白色
  • 而不是沉浸式粘性、沉浸式和leanBack
  • 更改状态栏亮度和状态栏图标亮度

但我面临同样的问题,如果有一个带有黑色图标的通知, 在隐形状态栏上清晰可见

我发现了问题,但不知道如何解决。 在vivo上,应用程序可以决定显示相机或用黑条隐藏它(在我的例子中),但我必须手动将设置从自动调整(让应用程序决定)更改为显示相机 我希望应用程序自动执行此操作

示例:

class Example extends StatefulWidget {
  const Example({super.key});

  @override
  State<Example> createState() => _ExampleState();
}

class _ExampleState extends State<Example> {

@override
  void initState() {
    SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky);
    super.initState();
  }

@override
  Widget build(BuildContext context) {
return Container();
}

}
flutter statusbar android-statusbar flutter-ui
1个回答
0
投票

添加

'android/app/src/main/res/values/styles.xml'

<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>

这对我有用。

© www.soinside.com 2019 - 2024. All rights reserved.