Eliminar etiquetas BottomNavigationView

Google lanzó nueva biblioteca de soporte v25 con BottomNavigationView

Introduzca aquí la descripción de la imagen

¿Hay alguna manera de quitar las etiquetas de los artículos?

¿Quieres este estilo?

Si es así, te recomiendo que intentes BottomNavigationViewEx .

Desafortunadamente esta primera versión de BottomNavigationView vino con muchas limitaciones. Y por ahora no puede quitar los títulos sólo con el API de diseño de soporte técnico. Así que para solucionar esta limitación mientras google no la implementa, puedes hacer (usando reflexión):

1. Establezca los títulos vacíos desde el archivo bottom_navigation_menu.xml.

2. Extiende el BottomNavigationView:

  public class MyBottomNavigationView extends BottomNavigationView { public MyBottomNavigationView(Context context, AttributeSet attrs) { super(context, attrs); centerMenuIcon(); } private void centerMenuIcon() { BottomNavigationMenuView menuView = getBottomMenuView(); if (menuView != null) { for (int i = 0; i < menuView.getChildCount(); i++) { BottomNavigationItemView menuItemView = (BottomNavigationItemView) menuView.getChildAt(i); AppCompatImageView icon = (AppCompatImageView) menuItemView.getChildAt(0); FrameLayout.LayoutParams params = (LayoutParams) icon.getLayoutParams(); params.gravity = Gravity.CENTER; menuItemView.setShiftingMode(true); } } } private BottomNavigationMenuView getBottomMenuView() { Object menuView = null; try { Field field = BottomNavigationView.class.getDeclaredField("mMenuView"); field.setAccessible(true); menuView = field.get(this); } catch (NoSuchFieldException | IllegalAccessException e) { e.printStackTrace(); } return (BottomNavigationMenuView) menuView; } } 

3. Agregue al layout.xml este customView

Para más detalles lo he implementado en Github

Enfoque sin reflexión:

 private void removeTextLabel(@NonNull BottomNavigationView bottomNavigationView, @IdRes int menuItemId) { View view = bottomNavigationView.findViewById(menuItemId); if (view == null) return; if (view instanceof MenuView.ItemView) { ViewGroup viewGroup = (ViewGroup) view; int padding = 0; for (int i = 0; i < viewGroup.getChildCount(); i++) { View v = viewGroup.getChildAt(i); if (v instanceof ViewGroup) { padding = v.getHeight(); viewGroup.removeViewAt(i); } } viewGroup.setPadding(view.getPaddingLeft(), (viewGroup.getPaddingTop() + padding) / 2, view.getPaddingRight(), view.getPaddingBottom()); } } 

Esta es una solución temporal. Simplemente agrega: app:itemTextColor="@android:color/transparent" Eso hará que sea lo que sea el color de fondo es, apareciendo deshabilitado. Hace que el icono se vea elevado.

Yo recomendaría implementarlo por usted mismo como sanf0rd dio en su respuesta . Pero AppCompatImageView no funciona para mí. Lo he cambiado a ImageView . Y cambió getChildAt a findViewById .

También ocultar todas las etiquetas de los elementos no seleccionados.

 private void centerMenuIcon() { BottomNavigationMenuView menuView = getBottomMenuView(); if (menuView != null) { for (int i = 0; i < menuView.getChildCount(); i++) { BottomNavigationItemView menuItemView = (BottomNavigationItemView) menuView.getChildAt(i); TextView smallText = (TextView) menuItemView.findViewById(R.id.smallLabel); smallText.setVisibility(View.INVISIBLE); //TextView largeText = (TextView) menuItemView.findViewById(R.id.largeLabel); ImageView icon = (ImageView) menuItemView.findViewById(R.id.icon); FrameLayout.LayoutParams params = (LayoutParams) icon.getLayoutParams(); params.gravity = Gravity.CENTER; menuItemView.setShiftingMode(true); } } } 
  • Establecer menú predeterminado para BottomNavigationView
  • Mostrar insignia en la parte superior del icono de la barra de navegación inferior
  • Android BottomNavigationView elementos mostrando sin texto también el diseño no se esconde en desplazamiento
  • ¿Por qué Android BottomNavigationView no aparece?
  • Recyclerview cubierto por BottomNavigationView
  • Más de 3 elementos en la barra de navegación inferior android
  • BottomNavigationView deshabilita el modo de cambio sin usar la reflexión
  • Android BottomNavigationView iconos espaciados uniformemente
  • BottomNavigationView muestra los iconos y las etiquetas de texto en todo momento
  • Android: Vista inferior de navegación - cambia el icono del elemento seleccionado
  • Desmarque TODOS los elementos de BottomNavigationView sin elemento ficticio o Reflexión
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.