【发布时间】:2020-02-24 00:25:47
【问题描述】:
我正在使用下面的示例(取自CupertinoTabScaffold documentation page)。
在选项卡内推送新路由时有“滑动”过渡,但是当我单击选项卡栏项目时,内容被粗暴地替换。在标签之间切换时如何进行过渡?
我想实现类似的东西:https://github.com/Interactive-Studio/TransitionableTab
CupertinoTabScaffold(
tabBar: CupertinoTabBar(
items: [
BottomNavigationBarItem(
icon: Icon(CupertinoIcons.home),
title: Text("Tab 0"),
),
BottomNavigationBarItem(
icon: Icon(CupertinoIcons.news),
title: Text("Tab 1"),
),
],
),
tabBuilder: (BuildContext context, int index) {
return CupertinoTabView(
builder: (BuildContext context) {
return CupertinoPageScaffold(
navigationBar: CupertinoNavigationBar(
middle: Text('Page 1 of tab $index'),
),
child: Center(
child: CupertinoButton(
child: const Text('Next page'),
onPressed: () {
Navigator.of(context).push(
CupertinoPageRoute<void>(
builder: (BuildContext context) {
return CupertinoPageScaffold(
navigationBar: CupertinoNavigationBar(
middle: Text('Page 2 of tab $index'),
),
child: Center(
child: CupertinoButton(
child: const Text('Back'),
onPressed: () { Navigator.of(context).pop(); },
),
),
);
},
),
);
},
),
),
);
},
);
},
)
【问题讨论】:
-
我刚看到这个问题,你找到解决方案了吗?否则,您需要使用
CupertinoTabScaffold,您是否尝试使用自定义小部件? -
使用 animateTo(index)
-
在您分享的链接中,有 4 个主要的过渡:移动、缩放、淡化和自定义,您需要哪一个?
标签: ios flutter dart flutter-cupertino