反应导航v2滑动

时间:2018-09-03 21:02:58

标签: javascript react-native navigation react-navigation

自从更新到当我在堆栈导航器中时对导航v2的反应之后,我可以在选项卡之间滑动,而现在我不知道如何解决它,因为gesturesEnabled不再对我有用。

const HomeStack = createStackNavigator({
    Home:HomeScreen,
    Read:Read
    },
    {
        headerMode:'none'
    }
);

const Tabs = createMaterialTopTabNavigator({
        Home:{
            screen: HomeStack,    
            navigationOptions: {
                tabBarLabel:'Home',
                tabBarIcon: () => <Image source ={require('../assets/icons/tabHome.png')} style={{width: 32,height: 32}}></Image>
              }
        },
    {
        initialRoutName: 'Home',
        swipeEnabled: true
    });
export const Root = createStackNavigator ({
    Tabs: {
        screen: Tabs
        }
    },
    {
        navigationOptions:{
            header: <Header/>
        }
    }

);

HomeStack.navigationOptions = ({ navigation }) => {
    let tabBarVisible = true;
    if (navigation.state.index > 0) {
      tabBarVisible = false;
    }
    return {
      tabBarVisible
    };
};
class MainScreen extends Component {
    render() {
        return <Root />
    }
}

因此,我真正需要的是在进入“读取”堆栈时禁用选项卡之间的滑动。 您还可以看到root选项具有固定的标头。当我在根目录下时,如何隐藏标题?因为header:'none'不会覆盖root选项。 谢谢。

1 个答案:

答案 0 :(得分:0)

您要在标签导航器配置中将scrollViewer.ChangeView(0, scrollViewer.VerticalOffset, (scrollViewer.ZoomFactor + 0.1f)); 设置为swipeEnabled。在此处的文档中对此进行了记录:https://reactnavigation.org/docs/en/material-top-tab-navigator.html