FloatingActionButton setVisibility () no funciona

No puedo ocultar mi FloatingActionButton . Aquí está mi código:

XML:

 <CoordinatorLayout> <AppBarLayout android:id="@+id/appbar"> <CollapsingToolbarLayout> <ImageView/> <android.support.v7.widget.Toolbar /> </CollapsingToolbarLayout> </AppBarLayout> <NestedScrollView /> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" app:layout_anchor="@id/appbar" app:layout_anchorGravity="bottom|right|end"/> </CoordinatorLayout> 

Y estoy llamando:

 fab.clearAnimation(); fab.setVisibility(View.GONE); 

Estoy tratando de ocultar el FAB, pero parece que setVisibility + clearAnimation no funciona si el FAB está en un CoordinatorLayout .

Incluso si llamo fab.clearAnimation , la animación todavía se activa. ¿Alguien puede ayudarme?

Si su problema es la animación, podría intentar invalidar el Behavior FAB. En cuanto a la visibilidad, debe anular el anclaje que ha establecido en su diseño:

 CoordinatorLayout.LayoutParams p = (CoordinatorLayout.LayoutParams) fab.getLayoutParams(); p.setBehavior(null); //should disable default animations p.setAnchorId(View.NO_ID); //should let you set visibility fab.setLayoutParams(p); fab.setVisibility(View.GONE); // View.INVISIBLE might also be worth trying //to bring things back to normal state CoordinatorLayout.LayoutParams p = (CoordinatorLayout.LayoutParams) fab.getLayoutParams(); p.setBehavior(new FloatingActionButton.Behavior()); p.setAnchorId(R.id.appbar); fab.setLayoutParams(p); 

Me encontré exactamente con el mismo problema. Parece que el equipo de Android de Google no quiere que tenga el control de la visibilidad cuando el FloatingActionButton está anclado a un AppBarLayout, como se discute en este número – FloatingActionButton Ignora Visibilidad de la vista

Parece que una solución viable está envolviendo el FAB en FrameLayout y estableciendo la visibilidad en el contenedor en su lugar, como esto:

 <android.support.design.widget.FrameLayout android:id="@+id/fab_container" android:layout_height="wrap_content" android:layout_width="wrap_content" android:visibility="invisible"> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/fab_icon"/> </android.support.design.widget.FrameLayout> 

Sin embargo, puede desear considerar si este es el comportamiento ideal. Los defensores de Google recomiendan que el FAB sea visible tan pronto como se cree la pantalla. Si lo está ocultando por más tiempo de lo necesario para animarlo, considere mostrar un estado deshabilitado.

  • Problemas para recrear listas de diseño de materiales con licencia en Android
  • Path.approximate () no es compatible con android studio 0.8.14 beta
  • No se puede establecer colorControlNormal y android: textColor en estilo
  • Animación
  • ¿Qué tamaño deben tener los iconos de Barra de Acción (Barra de herramientas) en el nuevo diseño de Material Android?
  • Cómo hacer que Google Play Store App como el menú de acciones de búsqueda y el diseño del diálogo de búsqueda
  • ¿Cómo puedo modificar el color ondulado cuando utilizo? Attr / selectableItemBackground como fondo?
  • Barra de herramientas de Android + Diseño de pestaña + Cajón, Ocultar barra de herramientas al desplazarse y llevar TabLayout a la parte superior
  • ¿Hay una biblioteca de diseño / overlay / showcase de Android Material Design onboarding / tutorial?
  • Flecha de flecha hacia arriba que superpone el título de la barra de herramientas
  • Cómo establecer el tamaño de texto de etiqueta flotante?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.