У меня есть ImageView
, который я использую для демонстрации прогресса через анимацию
. Когда я хочу показать свой прогресс, я делаю это:
animDrawable.start();
ObjectAnimator.ofFloat(view, "alpha", 1.0f).setDuration(300).start();
Когда я хочу скрыть спиннер, я делаю это:
ObjectAnimator.ofFloat(view, "alpha", 0.0f).setDuration(300).start();
animDrawable.stop();
Однако это влияет, что анимация немедленно останавливается. Я хотел бы, чтобы это останавливалось только после того, как объект
полностью исчезло до 0,0 альфа. Есть ли способ настроить что-то вдоль линий «анимационного обеспечения» обратного вызова?
С androidx можно использовать doOnEnd метод, который вызвал, когда анимация закончилась
val anim = ObjectAnimator.ofFloat(eva_image, View.TRANSLATION_Y, 0f, 500f)
anim.setDuration(500)
anim.doOnEnd { Toast.makeText(this, "Anim End", Toast.LENGTH_SHORT).show() }
anim.start()