【问题标题】:Flutter - How to navigate inside the body of a TabBarView?Flutter - 如何在 TabBarView 的主体内导航?
【发布时间】:2019-07-06 08:12:42
【问题描述】:

我有一个包含项目列表的 TabBarView,我为每个项目分配了一个 Navigator.push 方法。目前这个方法会跳转到一个新的页面。

我的问题是,是否可以导航到 TabBarView 主体内的新页面?这意味着我想导航到另一个页面,同时保留我所有的顶部应用栏和底部导航栏。

【问题讨论】:

  • Navigator.push 将在旧屏幕上显示全新的屏幕。
  • 这方面有什么更新吗?
  • 这方面有什么更新吗?
  • 使用bool 变量更改setState 上的小部件

标签: flutter tabbar flutter-layout navigator


【解决方案1】:

是的,您需要将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

【讨论】:

  • 如果我只想在标签栏上显示两个标签,而第三个标签只能通过另一个按钮访问,是否可以?我试图删除标签内的第三个标签小部件,但我仍然可以滑动到第三个正文视图
  • 也许你错过了将 length: 更改为 2 @michealchow
猜你喜欢
  • 2019-08-17
  • 2021-08-21
  • 1970-01-01
  • 1970-01-01
  • 2021-05-19
  • 2020-09-22
  • 2021-07-24
  • 1970-01-01
  • 2022-01-23
相关资源
最近更新 更多