Flutterのタブで画面が切り替わっても表示を続けたい。
こちらのページが参考になる。https://codewithandrea.com/articles/multiple-navigators-bottom-navigation-bar/
とりあえずpushについても説明。
void _push() {
Navigator.of(context).push(MaterialPageRoute(
// we'll look at ColorDetailPage later
builder: (context) => ColorDetailPage(
color: activeTabColor[TabItem.red],
title: tabName[TabItem.red],
),
));
}
MaterialPageRoute takes care of creating a new route to be pushed (MaterialPageRouteはPushされる新しいRouteを生成する)
Navigator.of(context) finds a Navigator above in the widget tree, and uses it to push the new route.(Navigator.ofはWidgetツリー内で、Navigatorを見つけて、新しいRouteをpushするために利用する)
Navigator.of(context)はAppクラスの親であるMaterialAppがWidgetツリーのルートにいる。
MaterialAppが使っているNavigatorが利用されるために、BottomNavigatorが予想しない動きとなる。