El desarrollo de Android sobre cómo escuchar animaciones ha finalizado
En el cliente Sina Weibo, cuando cada operación está en progreso, aparecerá un ícono giratorio en la esquina superior derecha de la actividad, similar a un efecto de actualización, para recordarle al usuario que la operación está en progreso. . Esta es una forma recomendada de utilizar recordatorios no modales. A continuación se explica cómo lograr este efecto.
1 Defina un ImageView
Defina un ImageView para cargar imágenes y ImageView rotará. la imagen. También se pueden utilizar otras vistas. layout_height="match_parent"gt;
android:id="@ id/infoOperating"
android:layout_width="wrap_content"
android.layout_height=" wrap_content"
android: src="@drawable/operating"
android.scaleType="center"gt;
Donde android: src es el contenido de la imagen , Puedes utilizar las imágenes adjuntas.
Código Java
Código Java
ImageView infoOperatingIV =
(ImageView)findViewById(R.id.infoOperating);
2, defina el efecto de rotación
en la carpeta res/anim bajo el nuevo mensaje. En la carpeta res/anim bajo el archivo xml, el contenido es el siguiente
Código Java
android: fromDegrees="0"
android: toDegrees= "359"
android:duration="500"
android:repeatCount="-1"
android:pivotX="50"
android: pivotY="50" /gt;
Significa que la rotación circular comienza de 0 a 359 grados, y el tiempo necesario para la rotación de 0-359 grados (si está configurado en 360, habrá una pausa al detenerse) es 500 ms, la distancia entre el centro de rotación y el vértice izquierdo de la vista es 50 y la distancia desde el borde superior de la vista es 50, es decir, el centro es positivo. Consulte la introducción del atributo específico a continuación para conocer el significado específico.
El código Java es
Código Java
Animación operatorAnim = AnimationUtils.loadAnimation(this,
R.anim.tip);
LinearInterpolator lin = new LinearInterpolator();
operatingAnim.setInterpolator(lin);
setInterpolator significa establecer la velocidad de rotación.
LinearInterpolator se usa para efectos de velocidad uniforme, Accelerateinterpolator se usa para efectos de aceleración y DecelerateInterpolator se usa para efectos de desaceleración. Consulte los detalles a continuación android: interpolator.
a. El significado de los atributos es el siguiente (marcado en rojo):
android: fromDegrees grados del ángulo inicial
android: toDegrees
grado de ángulo de terminación, el número negativo significa en sentido contrario a las agujas del reloj, el número positivo significa en el sentido de las agujas del reloj. Por ejemplo, 10 pivotes son 3600 mayores que android:fromDegrees
android:pivotX La coordenada X del centro de rotación
Flotación o porcentaje. El punto flotante representa el borde izquierdo del objeto, como 5; el porcentaje representa el borde izquierdo del objeto, como
Otro porcentaje representa el borde izquierdo del contenedor principal; , como 5p; generalmente se establece en 50, lo que significa que está ubicado en el centro del objeto
android: pivotY Y coordenada del centro de rotación
punto flotante o porcentaje. El punto flotante representa en relación con el borde superior del objeto, como 5; el porcentaje representa en relación con el borde superior del objeto, como
El otro porcentaje representa en relación con el borde superior de; el contenedor principal, como 5p, generalmente se establece en 50, lo que indica que está ubicado en el centro del objeto
android:duration
Representa la duración de la rotación desde android:fromDegrees hasta android:toDegrees, en milisegundos. Se puede utilizar para calcular la velocidad.
android: el interpolador representa la tasa de cambio, pero no la velocidad de carrera. Las propiedades del interpolador pueden configurar efectos de animación para acelerar, ralentizar, repetir, rebotar, etc. El valor predeterminado es lento, medio y rápido para el inicio y el final.
android: startOffset es el tiempo que se espera para comenzar a ejecutarse después de llamar a la función de inicio, en milisegundos, si es 10, significa que. comenzará a ejecutarse después de 10 ms
android: repetirCount número de repeticiones, el valor predeterminado es 0, debe ser un int, puede ser -1 para no detenerse
android: repetirModo
Modo de repetición, el valor predeterminado es reiniciar, es decir, comenzar de nuevo y ejecutar nuevamente. Modo de repetición, el valor predeterminado es reiniciar, es decir, volver a ejecutar desde el principio, o lo contrario, es decir, volver a ejecutar desde el final hacia adelante. Efectivo cuando android:repeatCount es mayor que 0 o infinito