Вы можете просто использовать TabBar + TabBarView, чтобы это произошло.
//out of build method
final TabController _controller = TabController(
length: 3
);
//inside build method
Scaffold(
body: TabBarView(
controller: _controller,
children: <Widget>[
Center(
child: Text('page one'),
),
Center(
child: Text('page two'),
),
Center(
child: Text('page three'),
),
],
),
bottomNavigationBar: TabBar(
controller: _controller,
indicator: //change decoration here,
tabs: <Widget>[
Icon(
Icons.dashboard,
),
Icon(
Icons.card_giftcard,
),
Icon(
Icons.headset,
)
],
),
);