¿Por qué no funciona view.startAnimation (animación) cuando se llama desde un evento?

He creado una vista personalizada que utiliza un dummy TranslateAnimation para configurar algunas propiedades de diseño. Utilizo el interpolador para calcular la altura y lo aplico a una vista dentro del método applyTransformation () de TranslateAnimation.

Esto está funcionando bastante bien, si disparo la animación de mi actividad.

@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Log.i("test", "onCreate()"); view.expand(); // This method starts the animation } 

Cuando trato de hacer lo mismo usando un evento táctil, no pasa nada.

 @Override // This method is touch handler of the View itself public boolean onTouch(View v, MotionEvent event) { Log.i("test", "onTouch()"); this.expand(); // onTouch is part of the view itself and calls expand() directly return true; } 

Mi método de expansión se ve así:

 public void expand() { Log.i("test", "Expand!"); TranslateAnimation anim = new TranslateAnimation(0, 0, 0, 0) { @Override protected void applyTransformation(float interpolatedTime, Transformation t) { Log.i("test", "applyTransformation()"); super.applyTransformation(interpolatedTime, t); // do something } }; anim.setDuration(500); anim.setInterpolator(new AccelerateDecelerateInterpolator()); this.someInternalView.startAnimation(anim); } 

Una vez que mi actividad es creada, Logcat muestra "onCreate ()" Dentro de mi evento de contacto, Logcat muestra "onTouch ()" Dentro del método expand (), Logcat muestra "Expand!" – llamado de la actividad o de un evento.

Dentro del método applyTransformation () Logcat muestra "applyTransformation ()" – ¡PERO! Sólo si se invoca expand () desde onCreate (). No se pudo intentar iniciar la animación de un evento.

Esto me parece una especie de problema de roscado. ¿Puede ser esto? ¿Hay algo que me falta? Por lo que veo de otros puestos, las animaciones de inicio de los eventos deben funcionar sin ningún problema …

¡Gracias por adelantado!

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.