脚手架bottomNavigationBar重叠身体内容。如何预防

时间:2019-09-07 06:43:25

标签: flutter

我想要一个带有应用程序栏和底部导航栏的仪表板。但是当我在body(Scaffold)中添加listview或pageview时,内容与底部导航栏重叠。

我已经设置了padding小部件和纵横比小部件,但是内容的高度随屏幕尺寸的不同而变化。

BottomNavigationBar(
        backgroundColor: Colors.white,
        currentIndex: _currentIndex,

        onTap: (index) {
          setState(() {
            _currentIndex = index;
          });
        },
        items: [
          BottomNavigationBarItem(
            icon: new Icon(Icons.chat_bubble),
            title: new TextView(
              'Conversations',
              size: 16.0,
              color: Colors.black,
              fontWeight: FontWeight.normal,
            ),
          ),
          BottomNavigationBarItem(
            icon: new Icon(Icons.dashboard),
            title: new TextView(
              'Matchboard',
              size: 16.0,
              color: Colors.black,
              fontWeight: FontWeight.normal,
            ),
          ),
          BottomNavigationBarItem(
              icon: Icon(Icons.person),
              title: TextView(
                'Match-o-Meter',
                size: 20.0,
                color: Colors.black,
                fontWeight: FontWeight.normal,
              ))
        ],
      ),
      body: Column(
        children: <Widget>[
          Expanded(
            child: IndexedStack(index: _currentIndex, children: <Widget>[
              CouplingMatches(),
              MatchBoard(),
              MoMPage(),
            ]),
          ),
        ],
      ),

我希望正文位于应用栏和底部导航栏之间,但得到的结果为: Dashboard

我可以向下滚动,但内容与底部导航栏重叠

2 个答案:

答案 0 :(得分:2)

Scaffold小部件中包裹SafeArea的正文。

答案 1 :(得分:-1)

请尝试使用这些

  resizeToAvoidBottomInset: false,
  resizeToAvoidBottomPadding: false,

更改参数,直到没有输出为止,然后重新调整它为Scafflod的属性。