2

我有一個簡單的活動,它包含一個FrameLayout來加載一個片段。我使用Android L的Transition Framework將片段輸入和退出轉換設置爲從底部向上滑動。 Activity的onCreate()函數啓動一個FragmentTransaction來加載片段。當我的活動開始時,我看不到片段上的任何進入/退出轉換。它剛剛彈出。但是,爲了查看我是否正確實現了Transition框架,我在FrameLayout上使用了onClickListener,並在Click上啓動了fragmentTransaction。這次活動開始後,我單擊空白的FrameLayout,片段從設置的Transition過渡到底部。 但我希望在創建活動時發生碎片轉換。我哪裏錯了?片段的進入和退出轉換沒有看到

回答

0

設置動畫的過程中進入和退出片段動畫,您將使用Fragment Manager創建Fragment Transaction

使用下面的代碼:

FragmentTransaction ft = getFragmentManager().beginTransaction(); 
ft.setCustomAnimations(R.anim.enter, R.anim.exit); 

SampleFragment sampleFragment = SampleFragment.newInstance(); 

ft.replace(R.id.details_fragment_container, newFragment, "sampleFragment"); 

// Start the animated transition. 
ft.commit(); 

現在,在anim文件夾中,您將創建兩個XML文件,一個是進入動畫,另一個用於退出動畫。您將使用objectAnimator標籤。進入動畫的例子:

<?xml version="1.0" encoding="utf-8"?> 
<set> 
    <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android" 
    android:propertyName="x" 
    android:valueType="floatType" 
    android:valueFrom="-1280" 
    android:valueTo="0" 
    android:duration="500"/> 
</set> 
+0

謝謝你,是不是可以使用棒棒糖的'fragment.setEnterTransition()'和'fragment.setExitTransition()'來實現相同的? – Mithun