相同的进入和退出动画到应用程序中的所有片段

时间:2016-03-01 09:44:24

标签: android android-fragments

我想在我的应用中为所有片段添加进入和退出动画。

每当我想替换片段时,我必须重复下面的代码。

Fragment2 frag1 = new Fragment2();
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.setCustomAnimations(R.anim.push_in_from_left,
                R.anim.push_out_to_right,
                R.anim.push_in_from_left,
                R.anim.push_out_to_right);
fragmentTransaction.replace(R.id.content_frame, frag1);
fragmentTransaction.commit();

有没有通用的方法来应用这个动画,我可以在整个应用程序中重复使用它,就像我们可以为以下活动做的那样:

style.xml

 <style name="YourAnimation.Activity" parent="@android:style/Animation.Activity">
 <item name="android:activityOpenEnterAnimation">@anim/push_in_from_left</item>
    <item name="android:activityOpenExitAnimation">@anim/push_out_to_right</item>
    <item name="android:activityCloseEnterAnimation">@android:anim/slide_in_left</item>
    <item name="android:activityCloseExitAnimation">@android:anim/slide_out_right</item>
</style>

提前致谢。

1 个答案:

答案 0 :(得分:0)

创建一个单一方法,在该方法中访问给定活动中的backstack。并在那里输入您的上述代码。 这应该可以解决问题。

在缩放时,您可以使用相同的方法使用相同的方法在堆栈中添加片段,并且可能具有不同的容器ID。