我有2个视图通过同时滑入和滑出屏幕进行动画制作
这是它的代码:How to animate a slide in notification view that pushes the content view down
但是,当动画滑入时,我必须清除动画,以便点击事件正常工作,否则它们也会被翻译(这不是我想要的)
我需要在侦听器中放入onAnimationEnd以清除动画并让视图保持其动画后的视觉方式
这是我目前的代码:
greenViewSlideIn(1500, 0, new AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
greenView.setVisibility(View.VISIBLE);
}
@Override
public void onAnimationRepeat(Animator animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animator animation) {
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(blueView.getWidth(), blueView.getHeight());
layoutParams.setMargins(blueView.getLeft(), blueView.getTop() - greenViewHeight, blueView.getRight(), blueView.getBottom());
blueView.setLayoutParams(layoutParams);
greenView.clearAnimation();
// blueView.clearAnimation();
}
@Override
public void onAnimationCancel(Animator animation) {
// TODO Auto-generated method stub
}
});
答案 0 :(得分:0)
你可以做两件事:
确保动画上的setFillAfter
标记设置为false
。然后就不需要AnimationListener
动画结束后,请致电view.setAnimation(null);
希望这会有所帮助:)