我希望允许用户能够滑动以导航到类似于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-gesture-handler的寻呼机并不是你想要的,但是你可以用一些逻辑来实现它