J'essaie d'utiliser la vue de navigation inférieure dans mon application, mais je rencontre des problèmes pour la faire fonctionner car elle semble se comporter différemment selon le nombre d'éléments que j'affiche dans la vue de navigation inférieure
c'est le afficher lorsque je n'ai que trois éléments.
il s'affiche comme je veux
mais quand je fais quatre, la vue devient mauvaise
il ne s'agrandit pas pour s'adapter au bord de mon écran, c'est juste positionné au centre de mon écran.
Voici la présentation principale de mon activité
<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <android.support.design.widget.AppBarLayout android:id="@+id/appBarLayout" android:layout_width="match_parent" android:layout_height="wrap_content"> <include android:id="@+id/main_app_bar" layout="@layout/app_bar_layout" android:layout_width="match_parent" android:layout_height="wrap_content" /> </android.support.design.widget.AppBarLayout> <FrameLayout android:id="@+id/frame_container" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> <android.support.design.widget.BottomNavigationView android:id="@+id/navigation" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" android:layout_alignParentBottom="true" app:itemBackground="@color/colorPrimary" app:itemIconTint="@color/white" app:itemTextColor="@color/white" app:menu="@menu/navigation" /> </android.support.design.widget.CoordinatorLayout>
3 Réponses :
Ajoutez le mode de visibilité des libellés à votre vue de navigation inférieure
<android.support.design.widget.BottomNavigationView android:id="@+id/navigation" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" app:labelVisibilityMode="labeled" // this line android:background="@color/colorPrimary" app:itemBackground="@color/colorPrimary" app:itemIconTint="@color/white" app:itemTextColor="@color/white" app:menu="@menu/navigation" />
Puisque vous avez plus de trois éléments, vous devrez peut-être désactiver le mode shift. Veuillez consulter l'anawer dans cette question Comment désactiver le mode de décalage BottomNavigationView?
BottomNavigationView a une condition: quand il y a plus de 3 éléments, utilisez le mode shift. Revoyez cette réponse. Visiter