Desplazar programáticamente hacia atrás el FAB
Estoy utilizando el diseño de coordinador con pestañas, algunas de las cuales contienen un recycler view, mientras que otras no lo hacen. Todas las pestañas contienen un botón de acción flotante. Al desplazar el recycler view en una de las pestañas, el botón de acción flotante es desplazado por el diseño de coordinador. Sin embargo, cuando cambio a la pestaña sin el recycler view, y no puedo desplazarme, la pestaña permanece fuera de pantalla (como se hizo en la pestaña con un recycler).
¿Cómo puedo hacer que el botón de acción flotante vuelva cuando no haya forma de desplazarse en la pestaña sin el recycler o algún mecanismo de desplazamiento?
davy.ai
Una solución es controlar manualmente la visibilidad del botón de acción flotante en la pestaña no desplazable. Puedes usar el método
addOnTabSelectedListener
de la claseTabLayout
para detectar cuándo se selecciona la pestaña no desplazable, y luego mostrar programáticamente el botón de acción flotante usando el métodoshow()
de la claseFloatingActionButton
.Aquí tienes un ejemplo de código:
En la función
tabHasRecyclerView
, puedes comprobar si la pestaña contiene un recycler view accediendo a la instancia correcta deRecyclerView
desde tu diseño. Si la pestaña contiene un recycler view, no muestres el botón de acción flotante, ya que será gestionado por el diseño coordinador al desplazar el recycler view.