superior submenus studio puntos para hacer emergente create crear configuracion como carpetas android animation icons bottomnavigationview android-bottomnav

submenus - menu de configuracion android studio



Cómo eliminar la animación de iconos para la vista de navegación inferior en Android (6)

He implementado la Vista de navegación inferior desde la Biblioteca de soporte de diseño 25 en mi proyecto. Tengo 5 iconos en la vista. cada vez que se selecciona un ícono está teniendo alguna animación. Pero cuando 3 o menos iconos no muestran animaciones. Quiero eliminar esa animación y solo necesito un cambio de color para el icono. ¿Cómo puedo conseguir esto? Ya he hecho suficiente google, pero no pudo encontrar la solución. Por favor ayuda. Gracias.


Intenté esto y funcionó bien

BottomNavigationViewHelper.disableShiftMode(bottomNavigationView);

O este código mainactivity.xml

app:labelVisibilityMode="unlabeled"


Intenta esto es el diseño

app:labelVisibilityMode="labeled"

o en el nivel de código mNavigationView.setLabelVisibilityMode(LabelVisibilityMode.LABEL_VISIBILITY_LABELED);

Y actualiza tu biblioteca de soporte de diseño a 28.0. +


Para eliminar la animación o el movimiento de cambio, cree una clase bottomNavigationViewHelper usando bottomNavigationViewEX

package com.example.chitchat.utils; import android.util.Log; import com.ittianyu.bottomnavigationviewex.BottomNavigationViewEx; public class BottomNavigationViewHelper { private static final String TAG = "bottomNavigationViewHel"; public static void setupBottomnavigationView(BottomNavigationViewEx bottomNavigationViewEx) { Log.d(TAG, "setupBottomnavigationView: setting up bottom navigation view"); bottomNavigationViewEx.enableAnimation(false); bottomNavigationViewEx.enableShiftingMode(false); bottomNavigationViewEx.enableItemShiftingMode(false); bottomNavigationViewEx.setTextVisibility(false); } }


Puede que esta no sea la solución más elegante o práctica, pero podría intentar agregar la siguiente línea a su BottomNavigationView.

app:labelVisibilityMode="unlabeled"

Se eliminará la etiqueta y también se desactivará la animación.


Tengo respuesta de este thread .

Para eliminar la animación o el modo de cambio.

La implementación de BottomNavigationView tiene una condición: cuando hay más de 3 elementos, utilice el modo de cambio.

Crear clase de ayuda

import android.support.design.internal.BottomNavigationItemView; import android.support.design.internal.BottomNavigationMenuView; import android.support.design.widget.BottomNavigationView; import android.util.Log; import java.lang.reflect.Field; public class BottomNavigationViewHelper { public static void disableShiftMode(BottomNavigationView view) { BottomNavigationMenuView menuView = (BottomNavigationMenuView) view.getChildAt(0); try { Field shiftingMode = menuView.getClass().getDeclaredField("mShiftingMode"); shiftingMode.setAccessible(true); shiftingMode.setBoolean(menuView, false); shiftingMode.setAccessible(false); for (int i = 0; i < menuView.getChildCount(); i++) { BottomNavigationItemView item = (BottomNavigationItemView) menuView.getChildAt(i); //noinspection RestrictedApi item.setShiftingMode(false); // set once again checked value, so view will be updated //noinspection RestrictedApi item.setChecked(item.getItemData().isChecked()); } } catch (NoSuchFieldException e) { Log.e("BNVHelper", "Unable to get shift mode field", e); } catch (IllegalAccessException e) { Log.e("BNVHelper", "Unable to change value of shift mode", e); } } }

Uso

BottomNavigationView bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottom_navigation_bar); BottomNavigationViewHelper.disableShiftMode(bottomNavigationView);


BottomNavigationViewEx es una buena extensión para BottomNavigationView estándar. enableShiftingMode (falso) hace el trabajo por usted.