У меня есть следующий код для страницы TabBar:
class HomePage extends StatefulWidget {
static String tag = 'home-page';
@override
_homepage createState() => new _homepage();
}
class _homepage extends State<HomePage> with TickerProviderStateMixin{
AnimationController percentageAnimationController;
TabController _tabController;
@override
void initState() {
_tabController = new TabController(length: 3, vsync: this);
super.initState();
}
@override
void dispose() {
_tabController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return new Scaffold(
bottomNavigationBar: new Material(
color: Colors.white,
child: new TabBar(
controller: _tabController,
indicatorColor: Theme.Colors.loginGradientStart,
labelColor: Theme.Colors.loginGradientStart,
tabs: <Widget>[
new Tab(
icon: new Icon(wind_icon),
),
new Tab(
icon: new Icon(chart_icon),
),
new Tab(
icon: new Icon(settings_icon),
),
]
),
),
body:
new TabBarView(
children: <Widget>[
TabOne(),
TabTwo(),
TabThree(),
],
controller: _tabController,
),
);
}
}
Теперь, если я перехожу на эту страницу, она автоматически открывает первую вкладку, но я хочу открыть вторую вкладку вместо первой, то есть индекс вкладки1.
Я могу выяснить, что мы можем добиться этого с помощью _tabController.animateTo (1); , но я хочу знать, как это можно сделать с помощью нажатия кнопок на других страницах.,