Deseo moverme suavemente a la siguiente posición de desplazamiento en mi vista personalizada (al presionar un botón o evento). ¿Cómo implementar esto? En primer lugar, no puedo ver la clase de animación de desplazamiento (solo alfa, rotar, escalar y traducir). En segundo lugar, al tener una clase de animación, no puedo ver una iterativa (por ejemplo, desplazar los derechos de 100 píxeles en cualquier posición que tengamos) solo absoluta (es decir, para animar de un valor constante a otro).Cómo animar la posición de desplazamiento? Cómo desplazarse sin problemas?
Respuesta
Suponiendo que está utilizando un ScrollView, ¿funciona smoothScrollTo (...) para usted?
http://developer.android.com/reference/android/widget/ScrollView.html#smoothScrollTo%28int,%20int%29
ver el código view_cache_demo muestra para ver cómo hacer el desplazamiento de animación. Funciona en 2D, dibuja complejos en caché y también maneja gestos de fling, pero puedes simplificar todo lo que sea necesario.
Animación de desplazamiento se realiza a través de una combinación del uso de desplazador/OverScroller (para calcular el tiempo de los valores interpolados de sus compensaciones de desplazamiento), GestureDetectors (para iniciar el objeto rueda de desplazamiento) y el método onComputeScroll de una vista (que implícitamente es tu ciclo de animación).
Los documentos oficiales de Android ahora tienen un tutorial detallado sobre precisamente este tema. http://developer.android.com/training/gestures/scroll.html
Usando ObjectAnimator, esta es una muestra para desplazarse hacia arriba:
public void scroolToTop() {
int x = 0;
int y = 0;
ObjectAnimator xTranslate = ObjectAnimator.ofInt(mScrollView, "scrollX", x);
ObjectAnimator yTranslate = ObjectAnimator.ofInt(mScrollView, "scrollY", y);
AnimatorSet animators = new AnimatorSet();
animators.setDuration(1000L);
animators.playTogether(xTranslate, yTranslate);
animators.addListener(new AnimatorListener() {
@Override
public void onAnimationStart(Animator arg0) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationRepeat(Animator arg0) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animator arg0) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationCancel(Animator arg0) {
// TODO Auto-generated method stub
}
});
animators.start();
}
- 1. Cómo hacer la posición: desplazamiento fijo desplazarse horizontalmente
- 2. CListCtrl: ¿Cómo mantener la posición de desplazamiento?
- 3. UITableView desplazarse a la posición específica
- 4. Cómo desplazarse automáticamente ScrollViewer - sólo si el usuario no ha cambiado la posición de desplazamiento
- 5. ¿Cómo puedo establecer la posición de desplazamiento de un UIScrollView?
- 6. Android: Animar Ver posición
- 7. jQuery en la ventana de desplazamiento animar la posición de la imagen de fondo
- 8. Posición fija - Desplazamiento horizontal
- 9. cómo recordar la posición de desplazamiento de la página
- 10. cómo animar sin problemas la altura en CSS o Javascript en dispositivos móviles
- 11. ¿Cómo mantengo la posición de desplazamiento en MVC?
- 12. Establecer la posición de desplazamiento
- 13. jquery: ¿puedo animar la posición: absoluta a posición: relativa?
- 14. focus() para ingresar sin desplazarse
- 15. getView llamado con la posición incorrecta al desplazarse rápidamente
- 16. Anexar contenido de DIV y desplazarse/animar a abajo
- 17. ¿Cómo obtengo la posición de desplazamiento de un documento?
- 18. Cómo obtener la última posición de vista de desplazamiento, scrollview
- 19. ¿Cómo sincronizo la posición de desplazamiento de dos divisiones?
- 20. cómo establecer la posición de desplazamiento en uiwebview
- 21. ¿Cómo obtener la posición de desplazamiento desde GridView?
- 22. ¿Cómo puedo obtener la posición de desplazamiento actual en UIWebView
- 23. ¿Un evento de barra de desplazamiento al desplazarse?
- 24. ¿Extender el marcador Google Maps para animar sin problemas en la actualización?
- 25. Cómo animar una ventana?
- 26. CSS establecer la posición de desplazamiento predeterminada
- 27. Evento de desplazamiento más rápido? - Fondo "salta" después de desplazarse
- 28. ¿Cómo obtener y configurar la posición de desplazamiento de la página web actual?
- 29. Cómo hacer un marcador de posición de barra de desplazamiento
- 30. Cómo desplazarse a la siguiente página lógica en un ListBox con desplazamiento físico
¿Debo usar 'ScrollView'? Estoy usando 'MyClass extends View' ahora. –
Creo que depende de lo que esté haciendo, si ScrollView funciona para usted, entonces definitivamente lo usa. –
He intentado extender 'ScrollView' pero encontré que' onScrollChanged() 'no llama en el caso. Necesito llamar a este método ya que calculo algunos parámetros en él. Es decir. 'smoothScroll' no funciona para mí. –