我创建了一个 AnimatedVectorDrawable,它工作得很好,现在我正在寻找一种方法来更改动画或在完成后隐藏 View 。我希望有一个听众,但看起来没有。有人可以帮忙吗?
编辑
所以我找到了一种解决方法,但不是一种非常优雅的方法。我所做的是创建一个线程并轮询动画是否正在运行。
new Runnable() {
public void run() {
while(mLoop) {
if(mAnimatedVectorDrawable.isRunning()) {
Thread.sleep(mPollingInterval);
} else {
mLoop = false;
// TODO what ever
}
}
}
};
如果有人找到更好的解决方案,请分享。
最佳答案
尚未尝试过,但 Android 6.0 有 registerAnimationCallback来自 Animatable2 接口(interface)的方法
编辑:是的,这适用于 Android 6.0 模拟器:
mAnimatedVectorDrawable.registerAnimationCallback (new Animatable2.AnimationCallback(){
public void onAnimationEnd(Drawable drawable){
//Do something
}
}
Edit2:看起来他们没有在支持库 23.2+ 的 AnimatedVectorDrawableCompat 中添加对此的支持:(
Edit3:看起来这是在支持库 25.3.0 中添加的
谢谢卡森!
关于android - 有没有办法在 AnimatedVectorDrawables 中监听动画结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28812604/