我有一个带有此代码的 DialogFragment,以便在退出时设置动画:
override fun dismiss() {
dismissListener?.invoke()
exitAnimation?.let {
val animation = AnimationUtils.loadAnimation(requireContext(), it)
animation.setAnimationListener(object : AnimationAdapter {
override fun onAnimationEnd(animation: Animation?) {
callDismiss()
}
})
view?.startAnimation(animation)
} ?: callDismiss()
}
private fun callDismiss() {
super.dismiss()
}
exitAnimation 默认为滑出动画。
但是我注意到它不会总是显示后面的片段,我有一定的屏幕路径,无论我做什么,在动画时它似乎总是显示背景白色屏幕而不是后面的片段。
我不知道这是否是因为我有类似的事情:
A B C D,其中 D 是 DialogFragment,但 A B C 是 NavigationController / NavigatorFragment 的一部分,D 不是导航图的一部分,而是从 C 的 FragmentTranscation 开始
parentFragmentManager
我已经通过多种方式进行了测试,例如发送活动的supportFragmentManager,但似乎白屏始终可见。
我希望背景片段与使用相同的片段管理器时一样可见。
好吧,我只需要使 DialogFragment 窗口透明背景即可。