Анимация вызывается при нажатии кнопки:
confirmBtn.setOnClickListener {
finalWalkthroughViewModel.setConfirmation(true)
it.hide()
deliveredView.show()
validateForm()
}
Мои функции расширения при просмотре:
fun View.hide(visibility: Int = android.view.View.GONE) {
this.alpha = 1.0f
this.animate().alpha(0.0f).setDuration(ANIMATION_TIME)
.setListener(object : Animator.AnimatorListener {
override fun onAnimationRepeat(animation: Animator?) {
}
override fun onAnimationEnd(animation: Animator?) {
this@hide.visibility = visibility
}
override fun onAnimationCancel(animation: Animator?) {
}
override fun onAnimationStart(animation: Animator?) {
}
})
}
fun View.show() {
this.alpha = 0.0f
this.visibility = View.VISIBLE
this.animate().alpha(1.0f).setDuration(ANIMATION_TIME).setListener(null)
}
, поэтому, если я удаляю .setListener(null)
из show()
, слушатель установил ранеев скрытой функции вызывается.Почему это происходит?Включает ли реализация анимации в Android объект-компаньон или класс-одиночка?