Флаттер - Как перемещаться внутри тела TabBarView? - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть TabBarView, который содержит список элементов, и я назначаю метод Navigator.push для каждого элемента.В настоящее время этот метод будет переходить на новую страницу.

Мой вопрос: возможно ли перейти на новую страницу внутри тела TabBarView?Это означает, что я хотел бы перейти на другую страницу, сохраняя все свои верхнюю панель приложений и BottomNavigationBar на экране.

1 Ответ

0 голосов
/ 12 февраля 2019

Да, вам нужно положить TabBarView внутрь TabController:

import 'package:flutter/material.dart';

void main() {
  runApp(TabBarDemo());
}

class TabBarDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: DefaultTabController(
        length: 3,
        child: Scaffold(
          appBar: AppBar(
            bottom: TabBar(
              tabs: [
                Tab(icon: Icon(Icons.directions_car)),
                Tab(icon: Icon(Icons.directions_transit)),
                Tab(icon: Icon(Icons.directions_bike)),
              ],
            ),
            title: Text('Tabs Demo'),
          ),
          body: TabBarView(
            children: [
              Icon(Icons.directions_car),
              Icon(Icons.directions_transit),
              Icon(Icons.directions_bike),
            ],
          ),
        ),
      ),
    );
  }
}

Взято из https://flutter.io/docs/cookbook/design/tabs

...