Desplazamiento automático de AdapterView (Listview, GridView, …)

Fondo

Estoy tratando de hacer un AdapterView (listview, gridview, …) para desplazarse lentamente auto.

El usuario puede cambiarlo cuando lo desee, y no es necesario moverse hasta el final del adaptadorView.

Nuevamente, NO quiero hacer que el adaptador vaya a desplazarse hasta el final, ya que el usuario debería poder cancelar el desplazamiento automático.

Lo que he intentado

Para esto, estoy usando el siguiente código:

private static final SCROLLING_RUNNABLE = new Runnable() { @Override public void run() { final int duration = 10; final int pixelsToMove = 1; mAdapterView.smoothScrollBy(pixelsToMove, duration); mHandler.postDelayed(this, duration); } }; ... // use this to turn auto-scrolling on: mHandler.post(SCROLLING_RUNNABLE); // use this to turn auto-scrolling off: mHandler.removeCallbacks(SCROLLING_RUNNABLE); 

El problema

El código normalmente funciona, pero en algunos casos, toma mucho tiempo hasta que comience el desplazamiento.

De hecho, parece que cuanto más lo encienda y apague, más tendré que esperar a que comience a auto-scrolling.

Creo que este problema sólo se produce si vuelvo a la parte superior. Funciona muy bien cuando el adaptador está en desplazado un poco.

Ya que no puedo averiguar cómo obtener el valor de desplazamiento actual de la adapterView, no puedo averiguar cómo solucionar este problema.

La pregunta

¿Qué puedo hacer para solucionar este problema? ¿Hay alguna alternativa?

Puede iniciar el desplazamiento SCROLLING_RUNNABLE.run();

UPDATE O puede utilizar animaciones:

 Animation animation = new Animation() { @Override protected void applyTransformation(float interpolatedTime, Transformation t) { super.applyTransformation(interpolatedTime, t); // scroll the list } }; 

Y clearAnimation() para detener.

  • Imagen parpadeando mientras se desplaza en RecyclerView
  • Vista de desplazamiento de Android?
  • Android Scrollview Desplazamiento automático hacia arriba
  • Android ListView con elementos que se pueden hacer clic en sus filas provoca problemas de desplazamiento continuo
  • ¿Cómo crear un menú de navegación modal en móviles y evitar el desplazamiento del cuerpo?
  • ListView - mantiene el elemento específico en la vista cuando aparece el teclado virtual
  • Cómo implementar barra de acción deslizante vertical (como en la aplicación grofers)
  • Cómo desplazarse mediante programación un HorizontalScrollView
  • Cómo configurar scrollbar pulgar mediante programación en Android?
  • Android: cómo deshacerse de scrollView "fading edge"
  • Android: el diseño de ListView xml no muestra la imagen de fondo cuando se desplaza
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.