¿Cómo preparar curva traducir animación para android?
Hay 4 tipos de animaciones en android: rotate, alpha, scale y translate. Quiero preparar la animación de traducción curvada.
Es posible.?
- Cómo generar la animación de bucle con ViewPropertyAnimator?
- Android: ¿Cómo crear el diseño de la cama en xml?
- Android: permanece espacio en blanco después de traducir la vista
- La animación de rotación de Android 4.4 parpadea al animar la vista anidada
- Animación de la actividad como google play store
- El atributo Alpha sólo funciona en Android Lollipop, ¿por qué?
- Iniciar animación en carga de página, detener en página cargada
- No se puede crear una carpeta 'res / transition' después de actualizar SDK a Kitkat 4.4.2
- Animador de animación personalizada
- Animación de onda en Android TextView
- Cómo animar programaticamente un ImageView
- Animación Uso de memoria extraíble
- Mostrar imágenesVistas con tema de animación
¿Qué versión de Android utiliza? Desde el nivel 11 de la API puede utilizar animadores personalizados que pueden implementar fácilmente su traducción curva.
Si utiliza una versión por debajo de la que existe afaik sólo la posibilidad de concatenar manualmente múltiples traducciones lineales utilizando la animación de traducción y la configuración de los oyentes de animación
EDITAR:
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. Acaba de copiar y pegar (y acortar y cambiar) el código de una de mis aplicaciones.
Aquí están los animadores que utilizo:
Propósito: Mover Vista "vista" a lo largo del Camino "ruta"
Android v21 +:
// Animates view changing x, y along path co-ordinates ValueAnimator pathAnimator = ObjectAnimator.ofFloat(view, "x", "y", path)
Android v11 +:
// 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]); } });
Similar a: Android, mover mapa de bits a lo largo de un camino?
Considere el siguiente enlace web. Es un juego en C. Necesitas aislar la función projectile () y tratar de comprender las variables definidas en ella. Una vez que usted consigue que intente implementar en su propio código.
- ¿Cómo encontrar wifi y el uso de datos de red por separado por aplicación particular en android?
- Barra de herramientas plegable: establece la cantidad de barra de herramientas que se debe colapsar en onCreate