Следует ли использовать Navigator в тандеме с CupertinoTabBar? - PullRequest
0 голосов
/ 30 апреля 2020

Я изучаю флаттер и начинаю с простого приложения с 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 или нет.

...