Quelle est la meilleure façon de cacher un onglet dans un TabNavigator?
J'aimerais conditionnellement masquer un onglet dans un TabNavigator. Il semble que l'établissement de visible ne fonctionne pas correctement (sans doute parce que c'est la façon dont le TabNavigator cache les onglets qui ne sont pas actuellement sélectionné).
Quelle est la bonne façon de le faire?
source d'informationauteur Scotty Allen
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire en faisant usage de TabNavigator de getTabAt() méthode qui retourne le Bouton qui fait de l'onglet visual. Vous pouvez ensuite définir le Bouton de la propriété visible. C'est un peu difficile à obtenir cette configuration avec un fixations, mais c'est faisable.
Vous pourriez aussi envisager de désactiver l'onglet au lieu de cela, vous pouvez effectuer en paramètre est activé sur le TabNavigator enfant (pour lequel visible n'a pas fonctionné).
Qu'entendez-vous par cacher? Si vous avez réellement dire supprimer, puis il suffit de prendre votre tableau qui est lié aux données dans le TabNavigator, et de supprimer l'élément approprié.
Si vous voulez juste avoir retiré temporairement, créer un composant de votre propre qui encapsule la TabNavigator et dispose d'une gamme de supprimé les onglets et un tableau de réels onglets. Alors gérer ce que vous voyez l'ajustement.
Vous pourriez vouloir vérifier la flexlib projet. Ils ont un composant appelé SuperTabNavigator qui ajoute beaucoup de fonctionnalités à la base de Flex TabNavigator, y compris cacher les onglets (je pense).
Si vous n'avez pas à créer votre propre composant, cependant, c'est un peu plus compliqué. La chose à savoir est que les "onglets" sont spécialement style des boutons, contenue dans un TabBar composant (la TabBar est alors contenue dans le TabNavigator). Ce que vous aurez à faire est donc de la sous-classe TabNavigator et ont une propriété sur votre point de vue (c'est à dire les toiles, etc. qui sont ajoutés à la TabNavigator) qui est lié à l'visibles et includeInLayout propriétés de la TabBar boutons.
En substance, ce que vous aurez quelque chose comme:
Je ne sais pas à propos de TabNavigator, mais dans d'autres conteneurs, vous pouvez définir la
includeInLayout
propriétéfalse
et il sera ignoré. Vous avez probablement encore besoin de le combiner avecvisible
.