我一直在四处寻找,主要方法似乎是在对象上设置动画监听器。但是我设置了一个动画监听器,动画完成回调不会触发。
当view.animate()。translationY()完成动画时,你知道如何获得回调吗?
root.setLayoutAnimationListener
(
new Animation.AnimationListener()
{
@Override
public void onAnimationStart(Animation animation)
{
}
@Override
public void onAnimationEnd(Animation animation)
{
closeFragmentAnimationComplete(); //is not called
}
@Override
public void onAnimationRepeat(Animation animation)
{
}
}
);
root.animate().translationY(100);
答案 0 :(得分:2)
请尝试:
view.animate().translationY(100).setListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {}
@Override
public void onAnimationEnd(Animator animation) {
closeFragmentAnimationComplete();
}
@Override
public void onAnimationCancel(Animator animation) {}
@Override
public void onAnimationRepeat(Animator animation) {}
});