EnterAlwaysCollapsed no devuelve la barra de herramientas al desplazarse hacia abajo
Estoy usando layout_scrollFlags="scroll|enterAlwaysCollapsed"
con una barra de herramientas 0dip
de 0dip
, con la intención de volver a traer la Toolbar
cuando mi primer elemento visible en el RecyclerView
es visible (en contraposición a enterAlways
, que lo trae de vuelta inmediatamente cada vez que el RecyclerView
se desplaza hacia arriba). Sin embargo, la barra de herramientas nunca se muestra de nuevo después de desplazarla fuera de la pantalla. ¿Qué me estoy perdiendo?
- Mostrar barra de herramientas después de oculto por desplazamiento en el botón de clic
- Barra de herramientas de AppCompat popupTheme no se utiliza en ShareAction MenuItem
- Superposiciones ListView con ToolBar
- ¿Puedo usar un actionLayout en el menú overflow de android.support.v7.widget.Toolbar?
- Cómo obtener la barra de herramientas de fragmento?
- ¿Cómo hacer que la barra Contextual ActionMode se superponga a la barra de herramientas appcompat-v7 pero no al cajón de navegación?
- CoordinatorLayout, AppBarLayout y ToolBar - Barra de herramientas no se desplaza fuera de la pantalla
- Elementos de menú de la barra de herramientas apretados después de cambiar a la biblioteca de soporte 26 y AppBarActivity a AppCompatActivity
- Cómo proporcionar Navegación arriba con el botón de inicio de la barra de herramientas en la barra de herramientas v7
- Problemas en el uso de nuevo componente de la barra de herramientas, ocultar y mostrar Icono del cajón de navegación, icono de inicio de clic de iconos de fragmentos
- Cambiar el color de fondo de la barra de herramientas por programa no cambia Título de barra de herramientas Color de fondo
- Implementación de Google play y mapas como la barra de búsqueda de Android
- Barra de herramientas Android superpuesta TabLayout en CollapsingToolbarLayout
Eche un vistazo a la aplicación de ejemplo de biblioteca de soporte de diseño: cheesquare
La forma correcta de implementar su comportamiento descrito es simplemente usar el indicador de desplazamiento por sí mismo:
layout_scrollFlags="scroll"
Difícil de decir sin ver su código, como una suposición que podría ser una de dos cosas:
1.
Parece que hay un error con esto, la vista desaparece de la pantalla cuando se establece con una min-altura mayor que cero. Luego devuelve la altura mínima cuando se despliega hacia abajo comienza, y la altura completa cuando el desplazamiento llega a la parte superior.
Creo que su min-altura de cero puede estar interfiriendo con su regreso. Como si el scrollview se desvanece con una altura mínima de cero no, quién sabe qué está pasando para causar eso, la altura de cero min puede hacer que sea imposible volver con este error.
Echa un vistazo a este video que se encuentra aquí http://inthecheesefactory.com/blog/android-design-support-library-codelab/en mitad de la página.
Cito de esta página:
EnterAlwaysCollapsed – Este indicador define cómo volver a entrar en la pantalla. Cuando tu vista ha declarado un minHeight y usas este indicador, tu Vista sólo ingresará a su altura mínima (es decir, 'colapsado'), solo se volverá a expandir a toda su altura cuando la vista de desplazamiento haya alcanzado su parte superior. Utilícelo con la bandera de desplazamiento de esta manera: scroll | enterAlwaysCollapsed
De todos modos parece que no funciona como se describe en minHeight parte.
He añadido énfasis.
2.
No ha formateado su código correctamente.
De Android Developer Blog cito en "CoordinatorLayout y la barra de aplicaciones":
Una nota: todas las vistas que utilizan el indicador de desplazamiento deben declararse antes de las vistas que no utilizan el indicador. Esto asegura que todas las vistas salgan de la parte superior, dejando atrás los elementos fijos.
Este enlace también entra en más detalle sobre cómo usar enterAlwaysCollapsed
y vale la pena mirar.
Avísame si esto soluciona tu problema.
- Android Widget con ListView que muestra sólo vistas de carga
- Obtener el total de horas de dos timepicker