Hay 4 tipos de animaciones en Android: rotar, alfa, escalar y traducir. Quiero preparar animación curva de traducción.Cómo preparar curva traducir animación para android?
¿Es posible.?
Hay 4 tipos de animaciones en Android: rotar, alfa, escalar y traducir. Quiero preparar animación curva de traducción.Cómo preparar curva traducir animación para android?
¿Es posible.?
¿Qué versión de Android usas? Desde API nivel 11 puede usar Animators personalizado que puede implementar fácilmente su traducción de curva.
Si utiliza una versión más adelante que hay que yo sepa sólo la posibilidad de concatenar manualmente múltiples traducciones lineales usando la animación traducir y el establecimiento de los oyentes de animación
EDIT:
Ejemplo:
View view;
animator = ValueAnimator.ofFloat(0, 1); // values from 0 to 1
animator.setDuration(5000); // 5 seconds duration from 0 to 1
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener()
{
@Override
public void onAnimationUpdate(ValueAnimator animation) {
float value = ((Float) (animation.getAnimatedValue()))
.floatValue();
// Set translation of your view here. Position can be calculated
// out of value. This code should move the view in a half circle.
view.setTranslationX((float)(200.0 * Math.sin(value*Math.PI)));
view.setTranslationY((float)(200.0 * Math.cos(value*Math.PI)));
}
});
Espero que funcione. Simplemente copié & pegué (y acorté y cambié) el código de una de mis aplicaciones.
Considere el siguiente enlace web. Es un juego en C. Necesita aislar la función projectile() e intentar comprender las variables definidas dentro de ella. Una vez que lo consigue, intente implementarlo en su propio código.
Si bien esto puede responder teóricamente a la pregunta, sería preferible (http://meta.stackexchange.com/q/8259) que edite la respuesta para incluir las partes esenciales de la solución y proporcione el enlace como referencia. –
Éstos son los animadores que utilizo:
Propósito: mover Ver "vista" a lo largo de Ruta "camino"
v21 Android +:
// Animates view changing x, y along path co-ordinates
ValueAnimator pathAnimator = ObjectAnimator.ofFloat(view, "x", "y", path)
v11 Android +:
// Animates a float value from 0 to 1
ValueAnimator pathAnimator = ValueAnimator.ofFloat(0.0f, 1.0f);
// This listener onAnimationUpdate will be called during every step in the animation
// Gets called every millisecond in my observation
pathAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
float[] point = new float[2];
@Override
public void onAnimationUpdate(ValueAnimator animation) {
// Gets the animated float fraction
float val = animation.getAnimatedFraction();
// Gets the point at the fractional path length
PathMeasure pathMeasure = new PathMeasure(path, true);
pathMeasure.getPosTan(pathMeasure.getLength() * val, point, null);
// Sets view location to the above point
view.setX(point[0]);
view.setY(point[1]);
}
});
similares a: Android, move bitmap along a path?
Es útil dedicar más tiempo a explicar cómo funciona su respuesta, para que el solicitante pueda seguir su código más fácilmente. – SuperBiasedMan
@SuperBiasedMan ¡Gracias por los comentarios! Han agregado una explicación en los comentarios. –
Tenía que hacer: 'pathMeasure.getLength()/2' porque la vista seguía volviendo a su posición original. – Rick
Sírvanse proporcionar un código de ejemplo para la preparación de la curva de traducción en Android 3.0. – user884126
No hay. Espero que funcione –
@ js- señor, ¿puedo implementar una animación curva para los niveles de API por debajo de 11 usando la biblioteca nueve-viejo-android? –