问题描述
我希望每当我运行我的应用程序时,都应将其移至选项卡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"),]),)),);
}
}
解决方法
DefaultTabController
具有一个initialIndex
属性,默认情况下将其设置为0
。
在您的情况下,由于您有两个Tab
,因此需要将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"),]),)),);
}
}