首页 > 解决方案 > 如何在 stackNavigator 屏幕内水平滑动?

问题描述

我正在尝试在同一屏幕的不同屏幕之间创建滑动导航StackNavigator

当我设置swipeEnabled:truenavigationOptions,我的应用程序宁愿在不同的选项卡之间导航。

例如,我宁愿在同一个堆栈中Screen A导航Screen B

我该怎么做?

标签: react-nativereact-navigation

解决方案


我有同样的用例。我想要一个 swipaeable <StackNavigator>。我能够找到的解决方案是<StackNavigator>使用 a来模拟 a <TabNavigator>,或者更具体地说,使用createMaterialTopTabNavigator().

我所做的是创建这个选项卡(这是 react-navigation 2 中唯一允许的swipeEnabled)并添加display: none到它的样式中。这样我就可以拥有一个<TabNavigator>行为类似于<StackNavigator>.

这是代码:

const SwipeableNavigator = createMaterialTopTabNavigator({
  FrontCard: FrontCardScreen,
  BackCard: BackCardScreen
},
{
  swipeEnabled: true,
  tabBarOptions: {
    style: { display: "none" }
  }
});

然后随便打电话<SwipeableNavigator />到任何你想去的地方。


推荐阅读