[Flutter]BottomNavigationBarの後ろに画面を表示するには?

Flutter

どうも、ちょげ(@chogetarou)です。

BottomNavigationBarの背景には、デフォルトでScaffoldのbodyが表示されません。

Scaffoldのbodyの画面をBottomNavigationBarの後ろに表示するには、どうしたらいいのでしょうか?

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

BottomNavigaitonBarの後ろに画面を表示するには、Scaffoldの引数「extendBody」を使います。

具体的には、Scaffoldの引数「extendBody」に「true」を指定します。

Scaffold(
  extendBody: true,
  ・・・
);

これでBottomNavigationBarの後ろに画面を表示することが出来ます。

使用例

以下は、使用例です。

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      extendBody: true,
      body: IndexedStack(
        index: _currentIndex,
        children: _pages,
      ),
      bottomNavigationBar: BottomNavigationBar(
        backgroundColor: Colors.transparent,
        elevation: 0,
        items: [
          BottomNavigationBarItem(
            icon: Icon(Icons.settings),
            label: 'Settings',
          ),
          BottomNavigationBarItem(
            icon: Icon(Icons.home),
            label: 'Home',
          ),
          BottomNavigationBarItem(
            icon: Icon(Icons.favorite),
            label: 'Favorite',
          ),
        ],
        currentIndex: _currentIndex,
        onTap: _onTap,
      ),
    );
  }

まとめ

BottomNavigationBarの後ろに画面を表示するには、Scaffoldの引数「extendBody」を使います。

コメント

タイトルとURLをコピーしました