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?
- GlClear () toma demasiado tiempo - Android OpenGL ES 2
- ¿Por qué la muestra de documentación se divide por 2 para calcular inSampleSize para la carga de mapa de bits?
- Relación entre el paquete android.graphics y SurfaceFlinger
- CardView muestra artefactos cuando RotationY> 60
- ¿Cómo configurar la opacidad de la forma?
- Escala y rota Bitmap usando Matrix en Android
- Dibujar sector circular
- OpenGL (ES) - ¿Cuál es la diferencia entre frustum y ortho?
- Irrlicht android en opengl es 2.0 driver
- Sombras de OpenGL ES para los sprites 2D
- Mapa de imagen de Android. - mostrar un archivo .svg y usarlo como un mapa de imágenes (zonas de toque)
- Explicación de Android Xfermode
- Utilizando Paint.setStrokeJoin () y Paint.setStrokeMiter ()
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>
- ¿Está correcta la documentación de Android Cursor.moveToNext ()?
- Cómo obtener la fecha de milisegundos en android