2017-10-18 22 views
1

Comment styliser la hauteur et le rembourrage TabNavigator Tab? Im procédant comme suit:Rembourrage supplémentaire TabNavigator

import Icon from "react-native-vector-icons/MaterialIcons"; 
const tabNav = TabNavigator({ 
    TabItem1: { 
     screen: MainScreen, 
     navigationOptions: { 
      tabBarLabel:"Home", 
      tabBarIcon: ({ tintColor }) => <Icon name={"home"} size={20} color={tintColor} /> 
     } 
    }, 
    TabItem2: { 
     screen: MainScreen, 
     navigationOptions: { 
     tabBarLabel:"Home", 
     tabBarIcon: ({ tintColor }) => <Icon name={"home"} size={30} color={tintColor} /> 
     } 
    }, 
    TabItem3: { 
     screen: MainScreen, 
     navigationOptions: { 
     tabBarLabel:"Browse", 
     tabBarIcon: ({ tintColor }) => <Icon name={"home"} color={tintColor} /> 
     } 
    } 
}, { 
    tabBarPosition: 'bottom', 
    tabBarOptions: { 
     activeTintColor: '#222', 
     activeBackgroundColor :'yellow', //Doesn't work 
     showIcon: true, 
     tabStyle: { 
      padding: 0, margin:0, //Padding 0 here 
     }, 
    iconStyle: { 
     width: 30, 
     height: 30, 
     padding:0  //Padding 0 here 
    }, 
    } 
}); 

enter image description here

Comment puis-je me débarrasser du rembourrage entre l'icône et l'étiquette? J'ai fait padding:0 en iconStyle et aussi en tabStyle mais pas de chance. Je ne veux pas de rembourrage sous le label aussi. Comment je fais ça? Merci.

trouvé le rembourrage supplémentaire est causée par View: enter image description here

Comment puis-je me débarrasser de cela?

Répondre

0

juste essayer style sous tabBarOptions

tabBarOptions: { 
    style: { 
     height: 45 
    } 
    } 
+0

qui a réduit la hauteur et a déplacé le TabBar au fond. La barre d'onglets est maintenant coupée. Le rembourrage supplémentaire est toujours là. J'ai aussi essayé: 'paddingHorizontal: 0, paddingVertical: 0' mais ne fonctionne pas. – Somename

1

Malheureusement beaucoup de paramètres de mise en page sont hardcoded dans cette lib (comme padding: 12 pour onglet qui vient par défaut d'ailleurs).

La seule option est de regarder dans node_modules \ reac-navigation \ lib \ views \ TabView \ fichiers et de les ajuster selon vos besoins.

En ce moment, je suis en train de hacker ces sourses pour trouver une manière rapide et n-sale d'autoriser les icônes tabulaires rectangulaires (x> y), pas seulement carrées (x = y, par défaut).

Autre option est de créer votre composant tabBar personnalisé comme mainteneurs suggèrent