Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 09/12/15, 20:47:24
Array

[xs_avatar]
androizado androizado no está en línea
Miembro del foro
 
Fecha de registro: dic 2012
Mensajes: 191
Modelo de smartphone: Nexus 5
Tu operador: Vodafone
Problema con scroll en ListView

Hola estoy teniendo un problema implementando un scroll automático en un listView horizontal.

El código es el siguiente:

Código:
for (int i = 0; i <= count; i++){
      ItemListView obj = ((ItemListView) getTablaTiempos().get(i));
      if(segundos == obj.getTime()){
             // Movemos carrousel a su posición
             int offset = 0;
             if(i > 0 || i < count){
                  offset = 70;
             }
   
             twoWayView.smoothScrollToPositionFromOffset(i, offset, 1500);
       }
}
Explico variables:
segundos: son los segundos que marca un crono mediante un Timer. (el cual se incrementa de 1 segundo)
obj.getTime(): es el tiempo en el que la listView deberá moverse/mostrar el objeto que se muestra en la posición i del listView.

El offset es cero porque si es el primero o último al que debo de mover el scroll no tendrá offset y si es el caso de que la vista está entre el primero y el último le doy un offset para que se quede cómo la imagen que adjunto.

El problema que tengo es el siguiente: ListView con 5 posiciones A(5 segundos), B(20 segundos), C(30 segundos), D(45 segundos), E(60 segundos).

Si yo no hago touch en la listView todo me va correctamente. Pero si por ejemplo voy por el segundo 10 y hago touch y me voy a la posición 4 que es la E. Cuando llega al segundo 20 que debe de mostrar B no lo hace bien, se queda el offset pillado y el scroll algunas veces va a trompicones. Pero si ya no vuelvo hacer touch el solo vuelve hacerlo bien, tal como adjunto en la imagen.

Uso la librería twoWayView para el listView horizontal. Si tenéis una manera más sencilla de hacerlo o me podéis decir en que estoy fallando sería de gran ayuda.

Gracias de antemano por la ayuda. Espero haberme explicado correctamente.
Imágenes Adjuntas
Tipo de Archivo: png scrollListView.png (6.4 KB, 10 visitas)

Última edición por androizado Día 11/12/15 a las 17:29:20.
Responder Con Cita


  #2  
Viejo 09/12/15, 21:28:26
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
No termino de entender exactamente lo que quieres hacer, creo que quieres hacer un foto paginador automático como tienen algunas webs.

Si es eso creo que te estás complicando mucho, puedes usar un CountDownTimer, y que en cada onTick vaya a la posición que le corresponda. Puedes ponerle un tiempo considerablemente grande al Finish para que "nunca" se ejecute, o volver a hacer un start en el onFinish() para que se vuelva a ejecutar.

Y en cuanto al ListView horizontal, te aconsejo que migres a RecyclerView. Es la forma que tiene Google de dar soporte a los ListView horizontales y además con reciclado de vista. Otra cosa buena es que si quieres que el listado mañana sea vertical sólo tienes que cambiar 1 línea, o si quieres que sea un Grid lo mismo.
Responder Con Cita
  #3  
Viejo 09/12/15, 22:05:34
Array

[xs_avatar]
androizado androizado no está en línea
Miembro del foro
 
Fecha de registro: dic 2012
Mensajes: 191
Modelo de smartphone: Nexus 5
Tu operador: Vodafone
Si, por si sirve de ejemplo mi idea es cómo las listas horizontales que tiene ahora Google play. Adjunto imagen. Pero que cada cierto tiempo vaya cambiandosé. El recyclerview no lo conocia he estado viendo intentaré tirar por ahí.
Imágenes Adjuntas
Tipo de Archivo: jpg IMG_20151209_220437.jpg (74.6 KB, 8 visitas)
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 04:19:40 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /