[英]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.