如何轻扫导航堆栈导航器?

问题描述 投票:0回答:1

我希望允许用户能够滑动以导航到类似于Instagram的屏幕(向左滑动会将您带到您的消息,动画会跟随滑动的速度,如果您按住触摸并慢慢滑动屏幕移动很长时间)堆栈导航器。

我不想嵌套底部/顶部导航器来执行此操作。我能够将transitionConfig道具配置为类似的动画,但是动画被触发并且不响应手势(慢慢滑动使其慢慢显示下一个屏幕等等。)它只在你滑动回去时才能正常工作,但是不要导航到新的屏幕。

P.S我想使用堆栈导航器来执行此操作,而不是可滚动视图或类似的东西

export default createStackNavigator({
  bottomNavigator,
  Profile: Profile,
  tempScreen: TempScreen
}, {
    transitionConfig: (prop) => NavigationConfig(prop)
  })

这是NavigationConfig返回的动画

const trackFromRightToLeft = {
    transitionSpec: {
        duration: 350
    },
    screenInterpolator: sceneProps => {
        const { position, layout, scene } = sceneProps
        const thisSceneIndex = scene.index
        const width = layout.initWidth

        const translateX = position.interpolate({
            inputRange: [thisSceneIndex - 1, thisSceneIndex, thisSceneIndex + 1],
            outputRange: [width, 0, -width]
        })

        const slideFromRight = { transform: [{ translateX }] }

        return slideFromRight
    },
}
react-native react-navigation stack-navigator
1个回答
0
投票

你可以使用来自react-native-gesture-handler的寻呼机并不是你想要的,但是你可以用一些逻辑来实现它

© www.soinside.com 2019 - 2024. All rights reserved.