android - Jetpack 导航动画完整监听器
问题描述
当完成新的导航事件以更改状态栏颜色时,我正在尝试使用 Jetpack Navigation 库获取回调。
到目前为止,我发现
navController.addOnDestinationChangedListener
它会在新导航开始时通知我,但在完成时不会通知我,这意味着进入/退出转换已经完成。
有什么方法可以知道所有导航转换何时完成?
解决方案
你可以使用这样的东西:
val navHostFragment = supportFragmentManager.findFragmentById(R.id.nav_host_fragment)
navHostFragment?.childFragmentManager?.addOnBackStackChangedListener {
val currentFragment = navHostFragment.childFragmentManager.fragments.firstOrNull()
if (currentFragment is YourFragment) {
// your code here
}
}
推荐阅读
- docker - VSCode 不断与远程容器断开连接
- ubuntu - -dev 包的实际构建命令是什么?
- javascript - [Vue 警告]:实例上未定义属性或方法“trendingMovies”
- python - Django 从 M2M 获取相关对象
- java - Scanner 类如何在带有输入的 java 中工作?
- node.js - Lambda 的预签名 URL 生成代码超时,在本地工作
- css - CSS在智能手机/移动设备中有所不同
- reactjs - 使用按钮元素 onClick 的值更新状态
- css - 如何定位img元素位于其父元素的底部并水平居中
- typescript - Next.js 发生构建错误 ReferenceError: 组件未定义