¿Cómo puedo actualizar la barra de herramientas al desplazarse con CollapsingToolbar?
Estoy tratando de moverme de un TextView
a la Toolbar
cuando se colapse al desplazarse.
Digamos que tengo una barra de herramientas y justo debajo de ella tengo una vista, cuando me desplazo hacia arriba y comienza a no ser visible en absoluto, quiero actualizar la barra de herramientas con este texto, aquí hay un ejemplo.
Primer Escenario:
Segundo Escenario:
He estado leyendo sobre CollapsingToolbar
pero no puedo entender cómo hacerlo cuando la vista no es muy visible y si tengo que crear una barra de herramientas personalizada con un texto a la derecha donde pueda configurar, porque no es el título, es un valor adicional del título.
davy.ai
Para pasar de un
TextView
a laToolbar
cuando se colapsa durante el desplazamiento, se puede utilizarCollapsingToolbarLayout
en el archivo de diseño. Dentro delCollapsingToolbarLayout
, se puede agregar unTextView
con el texto que se desea mostrar cuando se colapse laToolbar
. Puede controlar la visibilidad delTextView
cuando se colapsa o se expande laToolbar
utilizando elOnOffsetChangedListener
. Aquí hay una implementación de ejemplo:En su actividad, puede agregar
OnOffsetChangedListener
para actualizar el texto deTextView
enToolbar
. El parámetro deoffset
en el métodoonOffsetChanged
representa el desplazamiento vertical delCollapsingToolbarLayout
, donde 0 está completamente expandido y -la altura máxima está completamente colapsada.En el método
onOffsetChanged
, verificamos si el valor absoluto del desplazamiento es mayor o igual al rango de desplazamiento total deAppBarLayout
menos la altura deToolbar
. Esto significa que laToolbar
está completamente colapsada y que debe mostrarse elTextView
. Actualizamos el texto deTextView
y lo hacemos visible. De lo contrario, ocultamosTextView
.Tenga en cuenta que puede ser necesario ajustar el valor de
toolbarHeight
dependiendo de la altura y el estilo de suToolbar
. También puede modificar el texto o el diseño deTextView
según sus necesidades.