Я изучаю флаттер и начинаю с простого приложения с 2 вкладками, нижней панели навигации (в частности, на основе Купертино). Это видео неплохо объясняет основы, но я что-то упускаю.
Пример, приведенный в видео, показывает, что когда вы нажимаете на BottomNavigationBarItem
, вы на самом деле не перейдя на новый экран, вы просто повторно визуализируете виджетов на существующем экране. Видео вызывает Navigator
только после того, как он создает виджет кнопки в контейнере страницы.
Является ли BottomNavigationBarItem
в CupertinoTabBar
, как предполагается, для вызова Navigator
? Или я неправильно понимаю вариант использования CupertinoTabBar
полностью?
Вот мой пример кода:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class HomeScreen extends StatelessWidget
{
@override
Widget build(BuildContext context) {
return CupertinoTabScaffold(
tabBar: CupertinoTabBar(
items: <BottomNavigationBarItem> [
BottomNavigationBarItem(
icon: Icon(Icons.menu),
),
BottomNavigationBarItem(
icon: Icon(CupertinoIcons.person_solid),
),
],
),
tabBuilder: (BuildContext context, int index) {
switch (index) {
case 0:
return new Container(
color: Colors.red
); break;
case 1:
return new Container(
color: Colors.white
); break;
default: {
return new Container(
color: Colors.white
);
}
}
},
);
}
}
Мне интересно, как бы я изменил switch
, чтобы вызвать Navigator
или нет.