2017-10-18 21 views
2

Je suis en train de dévolter une application avec réagissez natif.réagit natif, montre une barre ci-dessus de TabNavigator, qui se cachent sur le défilement (comme facebook app faire)

J'utilise tabNavigator et StackNavigator de react-navigation pour naviguer entre les onglets.

Maintenant, je veux créer, exactement comme l'application de facebook, un onglet affiché au-dessus de mon tabNavigator. Ces onglets cachent défiler vers le bas.

Le composant FlatList dispose de l'option ListHeaderComponent pour rendre son en-tête qui se cache également lors du défilement vers le bas.

Une idée? Je ne trouvais rien sur https://reactnavigation.org/docs/ ou docs réagissez-natif

enter image description here

+0

@Alainlb: avez-vous trouver une solution pour cela? Je me bats aussi avec ça. Je suis capable de faire défiler la barre du haut lorsque j'utilise un seul composant. Maintenant, j'utilise TabbarNavigator. Je ne comprends pas comment y parvenir. Avez-vous un échantillon pour cela? – Sujit

+0

@Sujit. non je ne trouve rien de ce que ce post a été créé. : AlainIb

Répondre

1

On dirait un TabNavigator niché dans un StackNavigator, comme ci-dessous

StackNavigator(
    { 
    Tabs: { 
     screen: TabNavigator(
     { 
      TabA: { 
      screen: TabA, 
      navigationOptions: { 
       tabBarIcon: <MaterialCommunityIcons name={"account"} /> 
      } 
      }, 
      TabB: { 
      screen: TabB, 
      navigationOptions: { 
       tabBarIcon: <MaterialCommunityIcons name={"message"} /> 
      } 
      }, 
      TabC: { 
      screen: TabC, 
      navigationOptions: { 
       tabBarIcon: <MaterialCommunityIcons name={"earth"} /> 
      } 
      } 
     }, 
     { 
      tabBarOptions: { 
      showLabel: false, 
      showIcon: true, 
      style: { 
       backgroundColor: "white" 
      } 
      } 
     } 
    ), 
     navigationOptions: { 
     title: "Notifications" 
     } 
    } 
    }, 
    { 
    navigationOptions: ({ navigation }) => ({ 
     headerRight: <MaterialCommunityIcons name={"magnify"} size={30} style={{ color: "white" }} />, 
     headerStyle: { 
     backgroundColor: "rgb(76, 62, 84)" 
     }, 
     headerTitleStyle: { color: "white" } 
    }) 
    } 
) 

enter image description here

+0

merci mais êtes-vous sûr? J'utilise déjà stackNavigator, un StackNavigator ouvre un mode plein écran sur tout l'écran du téléphone. Je veux afficher juste une barre comme celle dans le rectangle rouge – AlainIb

+0

Vérifiez l'édition. Fonctionne bien pour moi. Juste moqué et ajouté une capture d'écran également – wizloc

+0

oui merci affichage. Savez-vous comment le cacher lorsque vous faites défiler vers le bas? – AlainIb