BottomNavigationView affiche à la fois les icônes et les étiquettes de texte à tout moment
Je suis en utilisant android.de soutien.de la conception.widget de.BottomNavigationView de support à la conception de version de bibliothèque 25
compile 'com.android.support:design:25.0.0'
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottomBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_gravity="center"
app:itemBackground="@color/colorPrimary"
app:menu="@menu/bottom_navigation_main"
android:forceHasOverlappingRendering="true"/>
Lorsqu'il y a seulement trois actions dans @menu/bottom_navigation_main, il affiche des icônes et des étiquettes de texte à tout moment.
Qu'est-ce que la façon de les afficher à la fois les icônes et le texte des étiquettes à tous les temps quand il y a plus de trois actions.
source d'informationauteur Android Developer
Vous devez vous connecter pour publier un commentaire.
Il est difficile dans la version 25.
Essayer ce code. Mais je pense que ce n'est pas la bonne solution.
J'ai eu des comportement bizarre avec BottomNavigationView. Quand j'étais en sélectionnant n'importe quel article/fragment, le fragment pousse BottomNavigationView un peu plus bas, afin que le texte de BottomNavigationView passe en dessous de l'écran, de sorte que les icônes étaient visibles et texte caché en cliquant sur n'importe quel élément.
Si vous êtes face à ce comportement bizarre, alors Voici la solution.
Juste enlever
dans la racine de votre mise en page de fragment. Juste supprimer ce et boom! BottomNavigationView fonctionnera très bien, maintenant, il peut être indiqué avec le texte et l'icône.
Je l'avais en ma racine CoordinatorLayout de fragment.
Aussi, ne pas oublier d'ajouter
dans votre activité pour désactiver le mode de déplacement.
Ici, c'est que la classe:
Pour quiconque cherche toujours une solution et n'a pas besoin de s'appuyer sur des bibliothèques tierces ou de l'exécution de la réflexion, BottomNavigationView dans la Bibliothèque de prise en charge 28/Jetpack supporte toujours avoir le texte de l'étiquette.
Cette est la méthode que vous cherchez.
Ou en XML,
app:labelVisibilityMode="labeled"
Voici un Kotlin fonction d'extension qui combine @STAR_ZERO et @KishanSolanki124 de la solution.
Pour l'utiliser:
Vous voulez à cet effet ?
Si oui, j'ai recommandé que vous essayez BottomNavigationViewEx。
dans BottomNavigationView classe il y a un BottomNavigationMenuView champ et dans BottomNavigationMenuView il y a un BottomNavigationItemView [], qui est les éléments dans la barre du bas.
Dire n est le nombre d'éléments, BottomNavigationMenuView appellera BottomNavigationItemView.setShiftingMode(n>3) à chaque membre de la BottomNavigationItemView tableau []. Cette fonction décide du comportement (afficher le titre toujours ou seulement lors de la sélection).
ainsi, la manière de toujours afficher les titres, c'est d'essayer d'appeler cette méthode et vous pouvez utiliser la réflexion pour accéder aux champs privés.
Pour afficher les titres. Essayez cette Kotlin code:
Alternative à BottomNavigationViewEx:
BottomBar