2012-06-10 3 views
10

FragmentTransaction.replace()のおかげで実行される2つのフラグメント間のトランジションをアニメートしたいと思います。カスタムアニメーションをXMLファイルで指定したいと思います。フラグメントアニメーション:setCustomAnimationsとsetTransitionStyleの違い

FragmentTransaction.setCustomAnimations()FragmentTransaction.setTransitionStyle()の間の相違点は何ですか?

ありがとうございました。

答えて

26

setCustomAnimations(int, int, int, int)では、アニメーションリソースを直接指定できます。一方、setTransitionStyle(int)を使用する場合は、FragmentAnimation stylesetTransition(int)を使用して指定する必要があります。

互換ライブラリがsetTransitionStyle(int)を無視するので、あなたがそれを使用している場合、あなたは確かにsetCustomAnimations(int, int, int, int)を使用する必要があることを言及する価値があります。この詳細については

、リンクのためにあなたthanlこのexcellent post about Fragment states and Fragment animations

+0

MAAAAAAnをチェックしてください! –

+14

ここで 'setCustomAnimations()'を呼び出すことが重要だということをここでは追加します** **前に 'add()'または 'replace()'を呼び出すと、無視されます。その文書化されていないことは、私にしばらく時間がかかりました。また、アニメーションを必要としない引数には0を指定することもできます。 – smok

+0

完璧、ft.replace 前ft.setCustomAnimationsを使用するように気をつけても、それは、サポートライブラリがこの回答以来transistionのサポートが改善されたように見えます私の問題 –