2017-09-02 102 views
0

問題:我有一個包含其中包含StackNavigator,我需要的是在標題打開抽屜常規三條槓的圖標,而不是向右滑動陣營-導航:隱藏父頭

一個TabNavigator的一個DrawerNavigator

我的解決方案:把包含StackNavigator內StackNavigator與TabNavigator並把StackNavigator的DrawerNavigator內

問題,我的解決方案:當我TabNavigator中瀏覽我得到雙倍的頭文件(這是正常的,因爲我有2 Sta ckNavigators),我只能隱藏後面的箭頭標題,我總是留下3個標籤圖標標題。

那麼請問如何隱藏包含TabNavigator的父頁眉?

//the drawer navigator 
 
const DNav = DrawerNavigator({ 
 
     SportWall: { 
 
      screen: SportWall 
 
      } 
 
     }) 
 
     
 
//the stack that contains the tab navigator 
 
export default StackNavigator({ 
 
    SportWall: { 
 
     //just to show the header with the 3 bars icon 
 
     screen: SportWall 
 
    } 
 
    
 
render() { 
 
    return (
 
     <Tabs/> 
 
) 
 
} 
 
    
 
//the tab navigator 
 
const Tabs = TabNavigator({ 
 
    AllPubs: { 
 
     screen: AllPubs 
 
    }, 
 
    FriendsPubs: { 
 
     screen: FriendsPubs 
 
    }, 
 
}); 
 

 
//the stack inside each tab 
 
export default StackNavigator({ 
 
    AllPubs: { 
 
     screen: AllPubs, 
 
    }, 
 
    Pub: { 
 
     screen: Pub, navigationOptions: {tabBarVisible: false} 
 
    },...

回答

0

嗨,你可以用你的StackNavigator像這樣的例子,用headerMode: 'screen'

const SimpleApp = StackNavigator({ 
    Home: { screen: HomeScreen } 
    },{ 
    headerMode: 'screen' 
    } 
); 

更多信息請參見here

+0

改變headerMode的HomeScreen屏幕不會隱藏它,因爲HomeScreen擁有自己的堆疊導航器,每個選項卡都有自己的堆疊導航器 –

0

您不應該使用StackNavigator來顯示顯示抽屜的標題。 您可以設置與左邊的漢堡包按鈕自定義標題觸發該抽屜onPress它爲需要所有的屏幕:

<Button 
    onPress={() => this.props.navigation.navigate('DrawerOpen')} 
    title="Open drawer" 
/> 

不要忘記添加headerMode: "none"的導航選項