¿Hay alguna forma de calcular la posición final de desplazamiento

Me gustaría saber donde el scroll (recyclerview, scrollview) dejará de desplazarse con velocidad en el método Fling. ¿Hay alguna manera de calcular esto?

One Solution collect form web for “¿Hay alguna forma de calcular la posición final de desplazamiento”

Miré el código fuente de RecyclerView y usa una clase interna ViewFlinger con la siguiente variable de miembro:

private ScrollerCompat mScroller; 

Para resumir, cuando se detecta un fling es manejado por una instancia de ViewFlinger. ViewFlinger entonces fija la velocidad de fling en mScroller y le permite averiguar la curva de animación. ScrollerCompat es lo que quieres llegar a b / c tiene útiles API para obtener la final xey del scroll. Desafortunadamente, el ScrollerCompat mScroller de la instancia que usted necesita para llegar a no es expuesto por RecyclerView. MScroller.fling (0, 0, velocityX, velocityY, Integer.MIN_VALUE, Integer.MAX_VALUE, Integer.MIN_VALUE, Integer.MAX_VALUE); Dos posibles soluciones. Ambos deben hacerse una vez que obtenga el evento fling e involucre obtener o crear una instancia de ScrollerCompat:

  1. Utilice la reflexión para agarrar la instancia de mScroller.
  2. Guarde una instancia de ScrollerCompat e iníciela de la misma manera que RecyclerView. A continuación, pase la velocidad de mScroller.fling(0, 0, velocityX, velocityY, Integer.MIN_VALUE, Integer.MAX_VALUE, Integer.MIN_VALUE, Integer.MAX_VALUE); : mScroller.fling(0, 0, velocityX, velocityY, Integer.MIN_VALUE, Integer.MAX_VALUE, Integer.MIN_VALUE, Integer.MAX_VALUE);

Una vez que tenga la instancia de ScrollerCompat, llame a las API públicas para obtener las posiciones finales de xyy. Suponiendo que tiene vistas que son del mismo tamaño y que conoce su ubicación de inicio de fling dentro de la lista, puede calcular la vista de que aterrizará. Algo como esto:

 // Assumes vertical scrolling const int childHeight = this.getChildren().getChildAt(0).getHeight(); float childOffset = mScroller.getFinalY() / childHeight; 
  • Color androide del efecto del borde del scrollview del lollipop
  • ¿Cómo mostrar una imagen que es más grande que las dimensiones de la pantalla del teléfono?
  • Barra de desplazamiento en android
  • Mantenga ScrollView de ocupar demasiado altura
  • Android :: VideoView dentro de un ScrollView
  • Desplazamiento por programación de una palabra en vista en una vista de texto
  • Android: Dibujo sobre lienzo en Scrollview
  • Android: ScrollView no se desplaza
  • Scrollview con paginación en android
  • Habilitar desplazamiento dentro de EditText que está en ScrollView
  • Función de desplazamiento de listview dentro de la vista de desplazamiento
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.