how to remove default animation transition when using navigation component in Android?
You can add anim file to replace the default animation.
- res/anim/nav_default_enter_anim.xml
- res/anim/nav_default_exit_anim.xml
- res/anim/nav_default_pop_enter_anim.xml
- res/anim/nav_default_pop_exit_anim.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<!--Empty to disable animation-->
</set>
[Navigation Component] I can`t change animation from NavigationUI.setupWithNavController()
@HvSimon has provided a solution to set the global default which hasn't worked for me. Also I would like to choose/disable the animations per transition.
You can supply additional arguments to navigate()
with a NavOptions
object.
First create an animation in your res folder like res/anim/nav_enter_anim.xml
(empty for no animation):
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<!--Empty to disable animation-->
</set>
Create one animation xml per animation or reuse the same. Then supply a NavOptions
object to your navigate()
call like so:
val animationOptions = NavOptions.Builder().setEnterAnim(R.anim.nav_enter_anim)
.setExitAnim(R.anim.nav_exit_anim)
.setPopEnterAnim(R.anim.nav_pop_enter_anim)
.setPopExitAnim(R.anim.nav_pop_exit_anim).build()
findNavController().navigate(MyFragmentDirections.toMainActivity(), animationOptions)