将容器设置为底部导航栏的子级,但现在屏幕底部和导航栏之间有一个空格

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

所以我按照教程创建了自己的底部应用程序栏。但是,底部导航栏和屏幕底部之间有一个空白区域。我将这个空间涂成白色来显示它。我怎样才能使我的容器成为实际的导航栏并隐藏该空间?


import 'package:flutter/material.dart';

class bottomAppBar extends StatelessWidget {
  const bottomAppBar({
    Key? key,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return BottomAppBar(
      color: Colors.white,
      child: Container(
        color: Color(0xFF313131).withOpacity(0.7),
        height: 50,
        width: double.maxFinite,
        child: Row(
          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
          children: [
            IconButton(
              onPressed: () {
                Navigator.pushNamed(context, '/');
              },
              icon: Icon(
                Icons.home,
                color: Colors.white,
              ),
            ),
            IconButton(
              onPressed: () {
                Navigator.pushNamed(context, '/discover');
              },
              icon: Icon(
                Icons.search,
                color: Colors.white,
              ),
            ),
            IconButton(
              onPressed: () {
                Navigator.pushNamed(context, '/mybookings');
              },
              icon: Icon(
                Icons.hello,
                color: Colors.white,
              ),
            ),
            IconButton(
              onPressed: () {
                Navigator.pushNamed(context, '/user');
              },
              icon: Icon(
                Icons.person,
                color: Colors.white,
              ),
            ),
          ],
        ),
      ),
    );
  }
}
flutter dart flutter-layout
2个回答
0
投票

您是否将 SafeArea 放入脚手架中?当您使用 SafeArea 小部件并且您的屏幕不是矩形时,可能会发生这种情况,它会在屏幕的顶部和底部创建填充。


0
投票

我将吉姆的这条评论转发为答案,以便人们注意到它:

“尝试将脚手架背景颜色设置为 Color(0xFF313131).withOpacity(0.7)”- Jim

尝试根据您正在使用的应用程序主题为脚手架设置背景颜色。

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