【问题标题】:How to Set Initial Tab in flutter如何在颤动中设置初始选项卡
【发布时间】:2021-01-03 02:48:43
【问题描述】:

我希望每当我运行我的应用程序时,它都应该移动到选项卡 A,但默认情况下它会移动到第一个选项卡,该选项卡名为选项卡 B。

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: DefaultTabController(
          length: 2,
          child: Scaffold(
            appBar: AppBar(
              title: Text("Tab Bar"),
              bottom:
                  TabBar(tabs: [Tab(child: Text('B')), Tab(child: Text('A'))]),
            ),
            body: TabBarView(children: [
              Center(
                child: Text("this is to be second tab"),
              ),
              Center(
                child: Text("this is to be first tab"),
              ),
            ]),
          )),
    );
  }
}

【问题讨论】:

标签: flutter user-interface tabs uitabbarcontroller tabbar


【解决方案1】:

DefaultTabController 有一个initialIndex 属性,默认设置为0

在您的情况下,由于您有两个 Tabs,您需要将 initialIndex 属性设置为 1

我以你的代码为例添加了一个演示:

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: DefaultTabController(
          length: 2,
          // set initial index to 1
          initialIndex: 1,
          child: Scaffold(
            appBar: AppBar(
              title: Text("Tab Bar"),
              bottom:
                  TabBar(tabs: [Tab(child: Text('B')), Tab(child: Text('A'))]),
            ),
            body: TabBarView(children: [
              Center(
                child: Text("this is to be second tab"),
              ),
              Center(
                child: Text("this is to be first tab"),
              ),
            ]),
          )),
    );
  }
}

【讨论】:

  • thanx 先生,这工作正常,但我还有一个问题,比如我们到达选项卡 A 和从选项卡 A 到,如果我向左滑动,它将导航到不同的屏幕,如果我们重新返回在选项卡 A 和选项卡 A 中,如果我向右滑动,它将转到选项卡 B,但如果我从选项卡 b 再次向右滑动,它将导航到不同的屏幕
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-08-07
  • 2020-06-07
  • 1970-01-01
  • 1970-01-01
  • 2012-08-14
  • 1970-01-01
  • 2012-04-11
相关资源
最近更新 更多