Añadir un encabezado pegajoso al desplazamiento de paralaje – android
Quiero tener un desplazamiento de paralaje en mi aplicación, al igual que la aplicación Spotify con el encabezado "pegajoso". Esto significa que el encabezado se fijará en la parte superior de la pantalla. He encontrado un montón de bibliotecas ScrollView que hacen estas funciones por separado, no puedo encontrar ninguna bibliotecas con hacer ambas cosas.
Estoy usando la biblioteca de ParallaxScroll para el scroll parallex y StickyScrollViewItems para pegar el elemento en la parte superior de la pantalla.
- Problema con CoordinatorLayout y ImageView que ajusta el ancho mientras se desplaza
- Efecto Paralax en el fondo de la aplicación
- ¿Cómo tener un efecto de paralaje entre 2 ViewPagers?
- Lista 2D con RecyclerView en HorizontalScrollView
- LibGDX movimiento no suave
Cualquier ayuda es muy apreciada.
- Efecto Parallax con la barra desplegable no funcionando, imagen en el encabezado aplastado
- Deslizando la imagen con la Official Support Library 23.x. + bottomSheet como google maps
- Efecto Parallax en cada elemento en una vista de reciclador?
- Efecto Parallax en ViewPager de Android
- Efecto Parallax de Android y View Pager
- Android ViewPager con imagen de fondo de Parallax
Visite https://github.com/ksoichiro/Android-ObservableScrollView
Si no desea utilizar la biblioteca, sólo puede obtener la lógica de hacer cabecera pegajosa de aquí: –
@Override public void onScrollChanged(int scrollY, boolean firstScroll, boolean dragging) { if (dragging) { int toolbarHeight = mToolbarView.getHeight(); if (firstScroll) { float currentHeaderTranslationY = ViewHelper.getTranslationY(mHeaderView); if (-toolbarHeight < currentHeaderTranslationY) { mBaseTranslationY = scrollY; } } float headerTranslationY = ScrollUtils.getFloat(-(scrollY - mBaseTranslationY), -toolbarHeight, 0); ViewPropertyAnimator.animate(mHeaderView).cancel(); ViewHelper.setTranslationY(mHeaderView, headerTranslationY); } }
/// este es el método clave para hacer la vista pegajosa.
setTranslationY(float translationY)
Establece la posición vertical de esta vista con respecto a su posición superior.