Utilizar un ValueAnimator para hacer que un TextView parpadee diferentes colores

Quiero usar un ValueAnimator para hacer que el color de texto de un TextView parpadee dos veces entre dos colores diferentes, pero quiero crear la Animación en XML. No puedo encontrar ejemplos. Cualquier ayuda será apreciada.

Actualizar

El código abajo funciona perfecto. El color cambia de negro a azul, azul a negro, negro a azul, y azul a negro con 500ms entre cada repetición inversa. Sin embargo, estoy tratando de conseguir que esto funcione desde un archivo xml animador.

 ValueAnimator colorAnim = ObjectAnimator.OfInt(objectToFlash, "textColor", (int)fromColor, (int)toColor); colorAnim.SetDuration(500); colorAnim.SetEvaluator(new ArgbEvaluator()); colorAnim.RepeatCount = 3; colorAnim.RepeatMode = ValueAnimatorRepeatMode.Reverse; 

Xml

 <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android" android:propertyName="textColor" android:duration="500" android:valueFrom="@color/black" android:valueTo="@color/ei_blue" android:repeatCount="3" android:repeatMode="reverse" /> 

Código

 ValueAnimator anim = (ObjectAnimator)AnimatorInflater.LoadAnimator(Activity, Resource.Animator.blinking_text); anim.SetTarget(objectToFlash); 

El uso de xml hace que el color del color de texto de TextView cambie tantas veces como sea posible dentro de 500ms.

Actualización Creo que lo que necesito son Keyframes para imitar en xml lo que la llamada OfInt está haciendo de forma programática. Tratando esto ahora, pero no hay suerte hasta ahora.

Prueba esto:

 private static final int RED = 0xffFF8080; private static final int BLUE = 0xff8080FF; ValueAnimator colorAnim = ObjectAnimator.ofInt(myTextView, "backgroundColor", RED, BLUE); colorAnim.setDuration(3000); colorAnim.setEvaluator(new ArgbEvaluator()); colorAnim.setRepeatCount(ValueAnimator.INFINITE); colorAnim.setRepeatMode(ValueAnimator.REVERSE); colorAnim.start(); 

O pruebe este método no comprobado a través de xml: * res / animator / property_animator.xml *

 <set > <objectAnimator android:propertyName="backgroundColor" android:duration="3000" android:valueFrom="#FFFF8080" android:valueTo="#FF8080FF" android:repeatCount="-1" android:repeatMode="reverse" /> </set> 

Ahora en código Java:

 AnimatorSet set = (AnimatorSet) AnimatorInflater.loadAnimator(myContext, R.anim.property_animator); set.setTarget(myTextView); set.start(); 

El problema que describe es que el animador de objetos especificado en XML no está asignando correctamente el ArgbEvaluator para la interpolación de color.

Para resolver el problema, cree el animador de objetos XML para interponer entre los colores que desee. A continuación, en el código fuente, haga lo siguiente asegurándose de que el evaluador utilizado por el animador es un ArgbEvaluator:

 ObjectAnimator colorAnimator = (ObjectAnimator)AnimatorInflater.loadAnimator(this, R.animator.color_rotation); colorAnimator.setTarget(objectToFlash); colorAnimator.setEvaluator(new ArgbEvaluator()); colorAnimator.start(); 

A partir de API LEVEL> 21 el mismo efecto se puede hacer con el método estático ObjectAnimator.ofArgb así:

 @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) private void animateText(TextView text) { ObjectAnimator animator = ObjectAnimator.ofArgb(text, "textColor", Color.WHITE, Color.RED); animator.setDuration(500); animator.setRepeatCount(3); animator.setRepeatMode(ValueAnimator.REVERSE); animator.start(); } 
  • Construcción mono con android ndk autónomo toolchain (ndk androide r8e)
  • ¿Es posible usar un ListView sin ListActivity en Mono Android?
  • ¿Incompatibilidades de la capa de servicio MonoTouch / MonoDroid?
  • ¿Son las aplicaciones MonoDroid (Xamarin) menos propensas al robo?
  • Debugging con Android USB en VirtualBox
  • Símbolo no encontrado en OnActionExpandListener
  • Error incluso si la aplicación parece no estar instalada
  • Android Analyze APK
  • Diseño que no muestra contenido cuando se carga a través de una nueva actividad en Xamarin
  • App Crash instantáneamente sin excepción o registro (parece como xamarin / mono error)
  • Cómo recibir URL con filtros de intenciones Xamarin
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.