首页 > 解决方案 > Flutter - 透明的系统导航栏

问题描述

我想让 Flutter 中的底部导航栏透明。

这是我在我的main.dart

void main() {
  SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
    statusBarColor: Colors.transparent, // transparent status bar
    systemNavigationBarColor: Colors.transparent,
    systemNavigationBarDividerColor: Colors.transparent,
  ));
  runApp(MyApp());
}

我的主要脚手架中也有这个:

extendBodyBehindAppBar: true,
extendBody: true,

但这是结果:

Flutter iOS 截图

应用栏可以正常工作,但不是最底层。有想法该怎么解决这个吗?

标签: androidiosflutterdartnavigationbar

解决方案


将发布此作为答案。

目前,您在 Scaffold 内应用背景,而 Scaffold 本身在内部将 SafeArea 应用到身体(这就是为什么您的身体永远不会到达屏幕底部的原因)。
为了达到您需要的结果 - 在脚手架之前应用背景。例如:

DecoratedBox(
    decoration: BoxDecoration(
        color: Colors.red,
    ),
    child: Scaffold(...),
)

在此处输入图像描述


推荐阅读