androidandroid-fragmentsandroid-transitionsfragmenttransaction

FragmentTransaction.TRANSIT_NONE is not working as expected


How can I switch to another fragment without any animation?

I have two fragments and show/hide them using this:

supportFragmentManager
    .beginTransaction()
    .hide(currentFragment)
    .show(selectedFragment)
    .setTransition(FragmentTransaction.TRANSIT_NONE)
    .commit()

I expect them to switch without any animation, but there is a fade animation.

enter image description here

If I set the transition to TRANSIT_FRAGMENT_FADE, The fade animation will be shorter: enter image description here

I'm using androidx version 1.6.0-alpha02 and kotlin version 1.4.32

Thank you.


Solution

  • I found the problem.

    It was because of Shared Element Transition that was setting in onCreate.

    sharedElementEnterTransition = TransitionInflater.from(context).inflateTransition(android.R.transition.move)
    

    Removing this line fixed the problem.

    However I wonder in case of having a shared element transition, how can I navigate to another fragment without fading animation...