2016-04-10 4 views
0

私は断片でそれを達成しようとしていますenter image description hereアンドロイド:フラグメント

の下のようなiOSのアニメーションを達成しようとしていますとアニメーション。私は、現在の断片を背中に押し込み、下から新しい断片をスライドさせたいと思います。

FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
    fragmentTransaction.setCustomAnimations(R.anim.pushback,R.anim.slideup,R.anim.pushback,R.anim.slideup); 
    fragmentTransaction.add(R.id.frame, new FragmentTwo(), "MyStringIdentifierTag"); 
    fragmentTransaction.addToBackStack(null); 
    fragmentTransaction.commit(); 

残念ながら、希望のアニメーションが得られません。誰も助けることができますか?

答えて

0

あなたは同じ

anim_slide_in_top.xmlのために、この2つのアニメーションを使用することができ、あなたの活動に

<?xml version="1.0" encoding="utf-8"?> 
<translate xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromYDelta="-100%p" android:toYDelta="0%p" 
    android:duration="@integer/anim_duration_long"/> 

anim_slide_out_bottom.xml

<?xml version="1.0" encoding="utf-8"?> 
    <translate xmlns:android="http://schemas.android.com/apk/res/android" 
     android:fromYDelta="0%p" android:toYDelta="100%p" 
     android:duration="@integer/anim_duration_long"/> 

/** 
    * 
    * @param fragment Fragment to be replaced 
    * @param shouldAnimate 1 to animating on showing fragment else 0 
    */ 
    public void pushFragments(Fragment fragment,int shouldAnimate) { 

     FragmentManager manager = getSupportFragmentManager(); 
     FragmentTransaction ft = manager.beginTransaction(); 

     if (shouldAnimate == 1) { 
      ft.setCustomAnimations(R.anim.anim_slide_in_top, R.anim.anim_slide_out_bottom); 
     } 
     fragment.setRetainInstance(true); 
     ft.replace(android.R.id.tabcontent, fragment); 
     ft.commit(); 
    } 
関連する問題