2017-05-31 65 views
-3

動畫電車只在屏幕打開時只想要動畫視圖一次。當用戶觸摸屏幕

if (tram != null && pagePosition == 0){ 
    final Animation animation1=new TranslateAnimation(-100f, 80.0f, 0.0f, 0.0f); 

    animation1.setDuration(3000); 
    animation1.setRepeatCount(0); 
    tram.startAnimation(animation1); 
    animation1.setFillAfter(true); 

    animation1.setRepeatMode(0); 
} 

當翻譯幻燈片下一張幻燈片我想停止動畫停止動畫。 它重複動畫每當翻譯幻燈片

回答

0

這可以幫助你:

public class CustomTranslateAnimation extends TranslateAnimation { 

    public CustomTranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, 
            float toYDelta) { 
     super(fromXDelta, toXDelta, fromYDelta, toYDelta); 
    } 

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

    @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; 
    } 
} 
+0

只是想停止動畫時轉換爲下一張幻燈片 –