J'essaye d'ajouter BottomNavigationView
avec de grandes icônes. Cependant, il apparaît avec le titre chevauchant sur l'icône.
Code:
<com.google.android.material.bottomnavigation.BottomNavigationView android:id="@+id/bottomNavigationView" android:layout_width="match_parent" android:layout_height="100dp" app:labelVisibilityMode="labeled" app:itemIconSize="50dp" app:menu="@menu/bottom_navigation_menu"/>
J'utilise la version 1.0.0 de la bibliothèque de matériaux.
4 Réponses :
Veuillez utiliser android:layout_gravity="bottom"
ainsi que wrap_content
:
<com.google.android.material.bottomnavigation.BottomNavigationView android:id="@+id/bottomNavigationView" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" app:menu="@menu/bottom_navigation_menu" />
Veuillez faire ne pas utiliser app:itemIconSize="70dp"
.
Lien de référence:
supprimer également le rembourrage
essayez celui-ci
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="@color/selected_color" android:state_checked="true" /> <item android:color="@color/disable_Color" android:state_checked="false" />
dans l'élément de menu
<item android:id="@+id/navigation_home_tab" android:enabled="true" android:icon="@drawable/ic_navigation_home" android:title="@string/home"/>
drawable -> @ drawable / bottom_view_color_change
<android.support.design.widget.BottomNavigationView android:id="@+id/bottom_navigation" android:layout_alignParentBottom="true" android:layout_width="match_parent" android:layout_height="wrap_content" android:animateLayoutChanges="false" android:splitMotionEvents="false" android:fitsSystemWindows="false" app:itemIconTint="@drawable/bottom_view_color_change" app:itemTextColor="@drawable/bottom_view_color_change" app:menu="@menu/bottom_navigation_menu app:labelVisibilityMode="labeled"/>
Essayez d'utiliser le code ci-dessous.
Pour la conception de widget BottomNavigationView
private void bottomIconLarge() { BottomNavigationMenuView menuView = (BottomNavigationMenuView) bottomNavigationView.getChildAt(0); for (int i = 0; i < menuView.getChildCount(); i++) { final View iconView = menuView.getChildAt(i).findViewById(android.support.design.R.id.icon); final ViewGroup.LayoutParams layoutParams = iconView.getLayoutParams(); final DisplayMetrics displayMetrics = getResources().getDisplayMetrics(); layoutParams.height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 42, displayMetrics); layoutParams.width = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 42, displayMetrics); iconView.setLayoutParams(layoutParams); } }
Pour Conception de matériel BottomNavigationView
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- Main content --> <com.google.android.material.bottomnavigation.BottomNavigationView android:id="@+id/bottom_navigation" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" android:background="@color/colorPrimary" app:itemIconTint="@color/white" app:itemTextColor="@color/white" app:menu="@menu/bottom_navigation_menu" /> </FrameLayout>
Utilisez la méthode ci-dessous pour fixer la taille de l'icône de navigation inférieure souhaitée.
<android.support.design.widget.BottomNavigationView android:id="@+id/navigation" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_gravity="start" android:background="@color/white" app:itemIconTint="@drawable/nav_items_color" app:itemTextColor="@drawable/nav_items_color" app:menu="@menu/navigation" android:visibility="visible"/>
J'utilise ConstraintLayout
en tant que parent.
Ensuite, utilisez l'application: layout_constraintBottom_toBottomOf = "parent" insted of layout_gravity. @MalwinderSingh
Si vous souhaitez utiliser votre taille donnée et qu'elle a été fixée par vous, j'ai un code pour utiliser le code que vous pouvez personnaliser la taille de l'icône.
Le problème n'est pas que les icônes ne semblent pas grandes. Le problème est que les icônes sont coupées en bas et les titres chevauchent les icônes respectives.
Pouvez-vous afficher votre fichier @ menu / bottom_navigation_menu
Où se trouve le fichier bottom_navigation_menu?
Ajoutez ceci dans dimens.xml:
<dimen name="design_bottom_navigation_height" tools:override="true">80dp</dimen>
Et si vous créez android: layout_height = "wrap_content"?
Voulez-vous définir la hauteur fixe de bottomNavigationView? et après vous voulez une solution?
@AIMINPAN Il montre des icônes coupées en bas.
@DPrince Je veux afficher de grandes icônes et un titre en dessous.
@MalwinderSingh Le problème est dans votre icône. Vérifiez s'il y a plus d'espace
cette question mérite de nombreuses voix positives.
@MalwinderSingh si vous souhaitez donner la taille de l'icône, utilisez des icônes vectorielles