You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter 3.10.5应用状态栏默认隐藏问题求助

解决Flutter 3.10.5中状态栏显示异常及禁止全屏模式的问题

你的问题核心是应用默认进入全屏模式隐藏了状态栏,热重启时临时恢复,但页面导航后又被重置。以下是具体解决方法:

1. 全局强制状态栏显示并禁用全屏模式

在main函数初始化阶段直接配置系统UI样式,确保所有页面生效,不受页面是否有AppBar的影响:

import 'package:flutter/services.dart';

void main() {
  // 全局设置状态栏样式,确保图标和亮度符合需求
  SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(
    statusBarIconBrightness: Brightness.dark,
    statusBarBrightness: Brightness.light,
    statusBarColor: Colors.transparent, // 按需设置状态栏背景色
  ));

  // 禁用全屏模式,强制显示状态栏
  SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge, 
    overlays: [SystemUiOverlay.top] // 仅保留状态栏,若需要导航栏可添加SystemUiOverlay.bottom
  );

  runApp(const MyApp());
}

2. 修正AppBarTheme的局限性

你之前在AppBarTheme中设置的systemOverlayStyle仅对包含AppBar的页面生效,无AppBar的页面会 fallback 到系统默认样式。全局配置后,无论页面是否有AppBar,状态栏都会保持显示。

3. 检查页面级的全屏设置

排查所有页面的initState或build方法,是否存在手动隐藏状态栏的代码,比如:

// 若有此类代码,删除或修改
SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersive);

完成以上设置后,重新运行应用即可:默认状态下状态栏会正常显示,页面导航后也不会消失。

内容的提问来源于stack exchange,提问作者Ayan Dasgupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 15:52:16