2017-05-31 8 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

はちょうど次のスライドに変換する際に、アニメーションを停止したいです –

関連する問題