Я реализовал базовый TabBar и TabBarView с DeafualtTabController, см. Код ниже.
class MyApp2 extends StatelessWidget {
@override
Widget build(BuildContext context) {
return DefaultTabController(
length: BOTTOM_TABS,
child: Scaffold(
appBar: AppBar(title: const Text('Bottom App Bar')),
body: _tabBarView(),
bottomNavigationBar: _bottomTabBar(),
),
);
}
_tabBarView() {
return TabBarView(
physics: NeverScrollableScrollPhysics(),
children: [
Container(
color: Colors.blue,
),
Container(
color: Colors.orange,
),
Container(
color: Colors.lightGreen,
),
Container(
color: Colors.red,
),
],
);
}
_bottomTabBar() {
return TabBar(
tabs: [
Tab(
icon: new Icon(Icons.home),
),
Tab(
icon: new Icon(Icons.public),
),
Tab(
icon: new Icon(Icons.group),
),
Tab(
icon: new Icon(Icons.person),
)
],
);
}
}
Работает отлично! Теперь я хочу изменить анимацию между двумя вкладками с анимации по умолчанию. Но я не могу найти легкий способ сделать это.
После небольшого исследования кажется, что мне нужно использовать пользовательский TabController и каким-то образом использовать его метод animateTo. Мне кажется, это довольно большое изменение, просто чтобы изменить анимацию. Что мне интересно, так это если это правильный путь или я упускаю какой-то более простой способ просто изменить анимацию по умолчанию между вкладками?
Если бы кто-то мог дать мне хорошие ресурсы, чтобы указать мне правильное направление, я был бы очень благодарен.