どうも、ちょげ(@chogetarou)です。
BottomNavigationBarの背景には、デフォルトでScaffoldのbodyが表示されません。
Scaffoldのbodyの画面をBottomNavigationBarの後ろに表示するには、どうしたらいいのでしょうか?
方法

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」を使います。
コメント