web-dev-qa-db-fra.com

Android BottomNavigationVoir les icônes uniformément espacées

J'ai un BottomNavigationView avec cinq éléments. Le comportement par défaut consiste à afficher uniquement l'étiquette de l'élément sélectionné et l'espacement entre les cinq éléments varie en fonction de l'élément sélectionné.

Je voudrais une barre inférieure plus semblable à un UITabBar sur iOS. Est-ce possible avec BottomNavigationView ou pouvez-vous recommander une autre bibliothèque qui résout ce problème?

9
Johan Nordberg

Vous avez juste besoin de désactiver le mode shift: Comment désactiver le mode shift de BottomNavigationView?

Lorsque vous avez plus de 3 onglets, le mode décalage est activé par défaut. Ceci ne peut être désactivé qu'en utilisant une méthode délicate en utilisant Reflection maintenant.

8
Dan Meng

Il existe de nombreuses bibliothèques mais vous pouvez vérifier this et this out.

Quoi qu'il en soit, une capture d'écran de votre interface utilisateur aurait été préférable d'interroger le comportement par défaut.

0
AlphaQ

METTRE À JOUR

Vous devez également mettre à jour le fichier de configuration de proguard (par exemple, proguard-rules.pro). Le code ci-dessus utilise la réflexion et ne fonctionnera pas si proguard obscurcit le champ mShiftingMode.

-keepclassmembers class Android.support.design.internal.BottomNavigationMenuView { 
    boolean mShiftingMode; 
}
0
Attaullah