2017-06-04 13 views
0

私のアプリケーションでは、アクティビティを終了するボタンがありますが、すぐに閉じるボタンのアクティビティをクリックした後、アニメーションをしてからアクティビティを終了します。アクティビティを閉じるときにアニメーションを追加する - アンドロイド

これは私のコードですが、これは機能しません。

public void close(View view){ 

    Animation fadeOut = new AlphaAnimation(1, 0);//Fadeout 
    fadeOut.setInterpolator(new AccelerateInterpolator()); //and this 
    fadeOut.setStartOffset(1000); 
    fadeOut.setDuration(1000); 

    AnimationSet animation = new AnimationSet(false); //change to false 
    animation.addAnimation(fadeOut); 
    animation.setAnimationListener(new Animation.AnimationListener(){ 
     @Override 
     public void onAnimationStart(Animation arg0) { 
     } 
     @Override 
     public void onAnimationRepeat(Animation arg0) { 
     } 
     @Override 
     public void onAnimationEnd(Animation arg0) { 
      this.finish(); // Error: cannot resolve method 
     } 
    }); 
    this.setAnimation(animation); // Error: cannot resolve method 
} 

Error: cannot resolve methodこのアクティビティにアニメーションを追加するにはどうすればよいですか?

UPDATE:

私はその後2つのアニメーションfade_in.xmlfade_out.xmlを作成し、私はoverridePendingTransitionを追加するが、それは働いていません。ここ

新しいコードである:

fade_out.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <alpha 
     android:duration="3000" 
     android:fromAlpha="1.0" 
     android:interpolator="@android:anim/accelerate_interpolator" 
     android:toAlpha="0.0" /> 
</set> 

fade_in.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <alpha 
     android:duration="3000" 
     android:fromAlpha="0.0" 
     android:interpolator="@android:anim/accelerate_interpolator" 
     android:toAlpha="1.0" /> 
</set> 

近い()

public void close(View view){ 
    overridePendingTransition(R.anim.fade_in, R.anim.fade_out); 
    this.finsih() 
} 

私が間違っていることを教えてもらえますか?

+0

をウルのコードを変更することができますアクティビティ?アクティビティの切り替えや終了にアニメーションを使用するには、 'overridePendingTransition(R.anim.enterAnim、R.exitAnim);' – Opiatefuchs

+0

を参照する必要があります。https://stackoverflow.com/questions/2651360/how-to-provide-アニメーション - 呼び出し時 - 別のアクティビティ - アンドロイド – Opiatefuchs

+0

私は他の活動を開始していません。私はちょうどこれを閉じる必要があります –

答えて

0

Uだけに `)この

public void close(View view){ 
    overridePendingTransition(R.anim.fade_in,     R.anim.fade_out); 
    this.finish(); 
} 

希望のようにuは任意の問題はuが尋ねることができれば、このヘルプ...あなたはsetAnimation(`のような方法を見てきました

+0

これは動作しません更新をチェックする –

+0

finish()の後にoverridependingTransitionを置くことはできますか? –

+0

試しましたが、うまくいかず、 'this.finish()'を削除してみましたが効果はありません –

関連する問題