user2056563
user2056563

Reputation: 640

Fragment Custom Animation

I have 2 fragments say Fragment A and Fragment B. i need to animate fragment A and B when moving back and forth.

Animation Behavior looking for : When moving - Retain Fragment A and then slide fragment B on top of Fragment A from right.(not to push fragment A)

How i can achieve this ? i have read few posts but all says slide in and out animation.

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();

Upvotes: 1

Views: 1178

Answers (3)

MohK
MohK

Reputation: 1933

Though I am not sure but having no out animation may work. (I haven't tried this)

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

Upvotes: 0

Christopher
Christopher

Reputation: 10269

Maybe implementing a ViewPager will solve your problem.

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

Upvotes: 1

Abhishek
Abhishek

Reputation: 1345

Instead of replacing, try to add 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();

Upvotes: 0

Related Questions