Анимация выхода DialogFragment, показывающая пустой белый экран
У меня есть 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 по умолчанию использует анимацию выдвижения.
Однако я заметил, что он не всегда показывает задний фрагмент. У меня есть определенный путь к экранам, где, что бы я ни делал, кажется, что при анимации всегда отображается фоновый белый экран вместо обратного фрагмента.
Я не знаю, потому что у меня есть что-то вроде:
ABCD, где D — это DialogFragment, но ABC является частью NavigationController/NavigatorFragment, а D не является частью навигационного графа и запускается из FragmentTranscation из C.parentFragmentManager
Я тестировал несколькими способами, например, отправлял supportFragmentManager активности, но кажется, что белый экран всегда виден.
Я хочу, чтобы фоновый фрагмент был виден, как при использовании того же диспетчера фрагментов.