繁体   English   中英

如何禁用工具栏导航按钮 animation

[英]How to disable toolbar navigation button animation

我正在使用带有导航 UI 的工具栏,当从顶级目的地导航到任何其他目的地时,导航按钮显示为向上按钮,并且标题向右移动。 当单击返回时,工具栏导航图标被隐藏,标题回到工具栏的开头,幻灯片 animation。

 var appBarConfiguration = AppBarConfiguration.Builder(
        setOf(
            R.id.homeFragment,
            R.id.moreOptionsFragment,
            R.id.accountDetailsFragment
        )
    ).build()
    navController = findNavController(R.id.navHostMain)
    binding.bottomNavView.setupWithNavController(navController)
    NavigationUI.setupWithNavController(toolbar, navController, appBarConfiguration)[enter image description here][1]

返回顶级片段时,如何禁用标题上的 animation

如果您在活动中使用工具栏,则可以通过在活动中调用setSupportActionBar将工具栏设置为支持操作栏,然后通过调用NavigationUI.setupActionBarWithNavController使用导航 controller 设置操作栏。

你会得到 animation 因为 NavigationUI 使用ToolbarOnDestinationChangedListener class 如果你用工具栏设置它,这个 class 有以下方法:

@Override
    protected void setNavigationIcon(Drawable icon,
            @StringRes int contentDescription) {
        Toolbar toolbar = mToolbarWeakReference.get();
        if (toolbar != null) {
            boolean useTransition = icon == null && toolbar.getNavigationIcon() != null;
            toolbar.setNavigationIcon(icon);
            toolbar.setNavigationContentDescription(contentDescription);
            if (useTransition) {
                TransitionManager.beginDelayedTransition(toolbar);
            }
        }
    }

如您所见,此方法使用TransitionManager动画移除导航图标,但它也会影响标题。 我不认为你可以禁用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM