代码之家  ›  专栏  ›  技术社区  ›  John doe

如何在stackNavigator屏幕内水平滑动?

  •  2
  • John doe  · 技术社区  · 6 年前

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

    当我开始 swipeEnabled:true 在里面 navigationOptions ,我的应用程序在不同的标签之间导航。

    我更愿意在同一个堆栈中从 Screen A Screen B 例如

    我怎么能玩这个把戏?

    1 回复  |  直到 6 年前
        1
  •  5
  •   Rafael Quintanilha    6 年前

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

    我所做的是创建这个选项卡(这是react navigation 2中唯一允许 swipeEnabled )并补充道 display: none 按照它的风格。这样我就可以有一个 <TabNavigator> 它的行为就像一个 <StackNavigator>

    以下是代码:

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

    然后打电话 <SwipeableNavigator /> 你想去哪里就去哪里。