Estoy utilizando animaciones de Android para girar un ImageView, pero el movimiento es muy agitado

Así que esta es mi animación XML

<?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:fromDegrees="0" android:toDegrees="360" android:pivotX="50%" android:pivotY="50%" android:duration="3000" android:repeatCount="infinite" android:interpolator="@android:anim/linear_interpolator" /> 

Estoy aplicando esto a un ImageView como un medio para girar una imagen. Pero el movimiento es muy agitado. Cada vez que la imagen gira, parece saltar en dos puntos en su rotación que están 180 grados lejos de uno a. No puedo ver ninguna razón por la que esto está sucediendo, ¿alguien ha encontrado esta dificultad y ha encontrado una solución?

Intente establecer un interpolador diferente. FYI, el interpolador por defecto utilizado al crear animaciones en android no es un interpolador lineal, sino que por el contrario, AccelerateDecelerateInterpolator .

No sé por qué no obtuviste el resultado correcto. Esto funciona para mí

Puede utilizar el android.R.anim.linear_interpolator integrado desde su archivo XML de animación con

 android:interpolator="@android:anim/linear_interpolator". 

O puede crear su propio archivo de interpolación XML en su proyecto, p.

Res / anim / linear_interpolator.xml:

 <?xml version="1.0" encoding="utf-8"?> <linearInterpolator xmlns:android="http://schemas.android.com/apk/res/android" /> 

Y añadir a su animación XML:

 android:interpolator="@anim/linear_interpolator" 

y use

 android:toDegrees="360" 

a

 android:toDegrees="359" 

Como 360 y 0 grados son los mismos

Si esta rotación es tan importante, supongo que es parte muy importante de su interfaz de usuario.

En ese tipo de situación, deberías interesarte en la implementación sencilla de OpenGL que te ayudará con tu problema.

Sugiero usar http://www.andengine.org/ – simple y fácil de implementar.

En AndEngineExamples usted puede encontrar la muestra fina del código que es incluso demasiado!

Un emulador es siempre agitado. Intente depurarlo en un dispositivo. Acelerar la rotación si no.

Intente hacer esto un archivo xml en drawable y poner su código allí es dibujable abajo, el nombre de este archivo my_progress_indeterminate.xml:

 <?xml version="1.0" encoding="utf-8"?><animated-rotate xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/your_rotating_image" android:pivotX="50%" android:pivotY="50%" /> 

Lo siento, pero tienes que ponerlo en progreso barra como esto es simple si la imagen es estática igual que la vista de la imagen no necesita hacer ninguna codificación diferente para esto simplemente escribe como esto en su archivo xml de diseño:

  <ProgressBar android:indeterminateDrawable="@drawable/my_progress_indeterminate" android:layout_height="100dp" android:layout_width="100dp"></ProgressBar> 
  • Encuentra el punto en Circle en Android
  • Cómo afilar una imagen en Android?
  • ¿Es mejor utilizar los métodos de animación incorporados de marco a cuadro de Android o crear los tuyos propios?
  • View.onDraw () - ¿cuándo se llama?
  • Android: Dibujo a lienzo, forma de hacer que la parte inferior izquierda corresponda a (0,0)?
  • Android Graphics Internals
  • Android: Tamaño de imagen de fondo (en píxeles) que admiten todos los dispositivos
  • Path () - segmentos de color inteligentes
  • Implementación de Pinch and Zoom en Android SurfaceView
  • Gráficos para Android
  • ¿Qué significa PorterDuff.Mode en los gráficos android.¿Qué hace?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.