我有两个片段,分别是片段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();
答案 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);