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.
- Relleno ListView en desplazamiento
- Cómo deshabilitar el colapso de CollapsingToolbar cuando el desplazamiento no tiene contenido?
- Mantener / Guardar / Restaurar la posición de desplazamiento al volver a un ListView
- Android: cómo deshacerse de scrollView "fading edge"
- ¿Cómo desplazar Horizontal Scroll View a una posición en particular?
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?
- Cómo obtener el desplazamiento de una vista dentro de un ScrollView?
- Cómo horizontal / vertical desplazar una imagen panorámica en Android?
- La aplicación Phonegap no se desplaza
- Usando limit () y offset () en QueryBuilder (ANDROID, ORMLITE)
- OnItemClickListener y OnClickListener no funcionan para ListView
- Personalización de la ScrollBar mediante programación
- Android: Desplazamiento de problemas con recyclerview dentro de un viewpager
- Visualización de una imagen más grande que la pantalla del dispositivo
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.
- Android y OpenCV: Homography to Camera Pose considerando la cámara intrínseca y la retroproyección
- En android 4.4 webView.getHitTestResult () devuelve null