Android: ¿Detectar cuando ScrollView ha terminado de desplazarse y rebotar de nuevo?
Tengo un ScrollView que tiene dos imágenes ocultadas, una en la tapa y una en la parte inferior. En medio hay un montón de contenido visible.
Lo que tengo que hacer es hacer estas imágenes ocultas por defecto, pero cuando se desplaza todo el camino o todo el camino hacia abajo se podía ver a medida que se desplazan. Pero entonces, tan pronto como deje de desplazarse, debería rebotar en el área visible para que las imágenes ocultas no se muestren.
- Sin gravedad para scrollview. Cómo hacer que el contenido dentro de scrollview como centro
- ¿Cómo aumentar la altura de ScrollView en Android?
- Desplazamiento de EditText dentro de ScrollView
- Barra de desplazamiento en android
- ¿Cómo puedo evitar "IllegalStateException: Scrollview puede alojar sólo un hijo directo"?
Básicamente estoy tratando de imitar la función de desplazamiento de rebote del iphone UIScrollView.
Tengo mi ScrollView toda la disposición y hago un desplazamiento al principio para ocultar la imagen ocultada superior. Ahora todo lo que necesito hacer es detectar cuando un desplazamiento ha terminado, averiguar la posición Y, y comprobar si una imagen oculta se muestra. Si es así, simplemente desplazaría la vista de forma programada para que la imagen oculta se oculta.
Espero que todo eso tenga sentido.
Así que de todos modos, sé cómo programar un scroll ScrollView. Ahora lo que necesito es algún tipo de devolución de llamada para decirme cuando un ScrollView terminó de desplazarse y también una forma de obtener la posición actual de ScrollView 'Y'. ¿Hay algún método que pueda usar?
Miré a través de los documentos ScrollView, pero nada saltó hacia mí. Todavía no estoy muy familiarizado con los esquemas de nomenclatura de Android, así que tal vez me perdí algo obvio en alguna parte.
De todos modos, cualquier ayuda sería apreciada aquí. Aclamaciones.
- ¿Cómo desactivar y activar el desplazamiento en Android ScrollView?
- Ejecutar comandos de shell y obtener resultados en un TextView
- Horizontal RecyclerView interior vertical ScrollView
- EditText, adjustPan, ScrollView problema en android
- ¿Cambiar la pestaña de desplazamiento / desplazamiento en combinación con ScrollView?
- Cómo convertir todo el contenido en una vista de desplazamiento a un mapa de bits?
- Cómo agregar ScrollView a GLSurfaceview en Opengl ES2.0 en Android
- Android: elimina sólo el efecto FadingEdge inferior de la barra de desplazamiento
Puede utilizar un OnTouchListener
para detectar cuando el usuario presiona / libera la lista.
También puede utilizar el método onScrollStateChanged
de la clase OnScrollListener
(lo más probable en conjunción con un detector de toques) para detectar cambios en el SCROLL_STATE
– cuando la lista ha dejado de desplazarse el estado cambiará de un estado que no es SCROLL_STATE_IDLE
a SCROLL_STATE_IDLE
.
Si utiliza 2.3 o superior, puede utilizar un OverScroller
para obtener el efecto deseado (consulte Modificar Android OverScroll para saber cómo cambiar el efecto de desplazamiento a un iPhone como éste).