2

次のコードを使用して、フラグメントをアクティビティに追加しています。ユーザーがボタンをクリックすると下からスライドインし、ボタンを押すと下にスライドアウトする必要があります。これを行うには、 を実装しsetCustomAnimation(int, out, popEnter, popExit)ます。ドキュメントによるとpopExitアニメーションはバックプレスで再生されます。

スライドの一部は正常に機能しますが、アニメーションを再生する代わりに、背面を押すとフラグメントが画面から消えますpopExit

addFragmentユーザーが次にフラグメントを表示するためにボタンを押す (が呼び出される) と、スライド アウト ( popExit) アニメーションがスライド イン アニメーションの前に再生されます。理由はありますか?

public void addFragment(Fragment){
    FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
    fragmentTransaction.addToBackStack(f.getClass().getSimpleName());
    fragmentTransaction.setCustomAnimations(R.anim.slide_in_from_bottom, R.anim.slide_out_to_bottom,R.anim.slide_in_from_bottom, R.anim.slide_out_to_bottom);
    fragmentTransaction.add(R.id.fragment_container, f);
    fragmentTransaction.commit();

}

4

0 に答える 0