片段自定义动画

时间:2015-03-11 08:04:27

标签: android android-fragments android-animation slide

我有两个片段,分别是片段A和片段B.我需要在来回移动时为片段A和B制作动画。

动画行为寻找: 移动时 - 保留片段A,然后从右侧将片段B放在片段A的顶部。(不要推送片段A)

我怎么能做到这一点?我读了几篇帖子,但都说幻灯片进出动画。

FragmentActivity fragmentActivity = (FragmentActivity) mContext;
FragmentTransaction ft = fragmentActivity.getSupportFragmentManager().beginTransaction();
ft.setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
FragmentB fragment = (FragmentB ) Fragment
                .instantiate(fragmentActivity,
                        FragmentB .class.getName(), extras);
ft.addToBackStack(FragmentB.class.getSimpleName());
ft.replace(R.id.frame, fragment,
                FragmentB.class.getSimpleName());
ft.commit();

3 个答案:

答案 0 :(得分:1)

也许实施ViewPager会解决您的问题。

http://developer.android.com/training/animation/screen-slide.html

答案 1 :(得分:0)

尝试添加FragmentB

而不是替换
FragmentActivity fragmentActivity = (FragmentActivity) mContext;
FragmentTransaction ft = fragmentActivity.getSupportFragmentManager().beginTransaction();
ft.setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
FragmentB fragment = (FragmentB ) Fragment
                .instantiate(fragmentActivity,
                        FragmentB .class.getName(), extras);
ft.addToBackStack(FragmentB.class.getSimpleName());
ft.add(R.id.frame, fragment,
                FragmentB.class.getSimpleName());
ft.commit();

答案 2 :(得分:0)

虽然我不确定但没有动画可能会有效。 (我还没试过这个)

ft.setCustomAnimations(android.R.anim.slide_in_left, 0);