当我在TextView上向右滑动时,我想启动动画并将其删除,但TextView正在被移除而没有动画。关于如何解决这个问题的任何想法,以及为什么这不起作用?谢谢。
public void onSwipeRight() {
textview.animate().translationX(500).alpha(0).setDuration(150).start();
linearlayout.removeView(textview);
}
答案 0 :(得分:2)
在删除视图之前,您需要等待动画完成:
textview.animate()
.translationX(500)
.alpha(0)
.setDuration(150)
.setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
linearlayout.removeView(textview);
}
})
.start();
注意:由于alpha(int)
为deprecated
,您需要使用:
textview.animate()
.translationX(500)
.alpha(0f) //float value
.setDuration(150)
.setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
linearlayout.removeView(textview);
}
})
.start();