2010-05-19 14 views

Respuesta

2

De la API:

Las animaciones no tienen un método de pausa.

http://www.androidjavadoc.com/1.0_r1/android/view/animation/package-summary.html

+0

gracias por la respuesta. Sí, soy consciente de que no hay un método de pausa, en su lugar implementé una clase personalizada que implementa Runnable y usé métodos posDelayed, removeCallbacks para realizar la tarea. No estoy seguro de si esta es una forma adecuada de hacerlo. – akc

24

que dan cuenta de este hilo es bastante antiguo, pero ya que esta fue la primera respuesta en Google cuando yo estaba buscando una manera de hacer una pausa en una animación, voy a publicar la solución a este problema para alguien más para ver Lo que necesita hacer es crear una subclase del tipo de animación que le gustaría usar y luego agregar métodos para pausar y reanudar la animación. Aquí está un ejemplo para AlphaAnimation:

public class PausableAlphaAnimation extends AlphaAnimation { 

    private long mElapsedAtPause=0; 
    private boolean mPaused=false; 

    public PausableAlphaAnimation(float fromAlpha, float toAlpha) { 
     super(fromAlpha, toAlpha); 
    } 

    @Override 
    public boolean getTransformation(long currentTime, Transformation outTransformation) { 
     if(mPaused && mElapsedAtPause==0) { 
      mElapsedAtPause=currentTime-getStartTime(); 
     } 
     if(mPaused) 
      setStartTime(currentTime-mElapsedAtPause); 
     return super.getTransformation(currentTime, outTransformation); 
    } 

    public void pause() { 
     mElapsedAtPause=0; 
     mPaused=true; 
    } 

    public void resume() { 
     mPaused=false; 
    } 
} 

Esto mantendrá el aumento de su starttime mientras que la animación está en pausa, manteniendo de manera efectiva desde el acabado y manteniendo su estado en el que estaba cuando se detuvo.

Espero que ayude a alguien.

+0

Esto funcionó perfectamente. Gracias. – Weston

+0

Gracias por compartir con nosotros esto es muy útil +1 de mi parte! – Deepak

+0

@Deepak puede ser trabajo para la animación de cuadros – Ashishsingh

Cuestiones relacionadas