如何在android中为NavigationUI添加动画过渡?

Ale*_*xsa 1 android android-jetpack android-architecture-navigation

我正在使用 NavigationUI 将目的地与菜单项联系起来,但如何覆盖默认动画过渡?

基于文档https://developer.android.com/topic/libraries/architecture/navigation/navigation-ui#Tie-navdrawer,我找不到任何可以添加动画过渡的方法。

ian*_*ake 5

NavigationUI 不提供该 API。但是,绝对不需要使用NavigationUI- 它只是可选的辅助方法。

因此,您可以复制/构建它实际作用的简化版本:

NavOptions navOptions = new NavOptions.Builder()
    .setLaunchSingleTop(true)  // Used to prevent multiple copies of the same destination
    .setEnterAnim(R.anim.your_enter_anim)
    .setExitAnim(R.anim.your_exit_anim)
    .setPopEnterAnim(R.anim.your_pop_enter_anim)
    .setPopExitAnim(R.anim.your_pop_exit_anim);
    .build();

// Assuming you have a MenuItem named item
navController.navigate(item.getItemId(), null, options);
Run Code Online (Sandbox Code Playgroud)