我有一个ImageView,我使用TranslateAnimation动画.在动画结束时,我想切换它显示的drawable.它有效但在显示图像之前它会闪烁.我最初使用的是AnimationListener,然后我按照我发现的如何通过创建扩展ImageView并覆盖OnAnimationEnd的自定义视图来解决这个问题的示例无效.
在我的活动中:
TranslateAnimation = new TranslateAnimation(0, 150, 0, 150);
translateAnimation.setDuration(ANIMATION_DURATION);
btn.setNextImage(buttons.get(2));
btn.startAnimation(3000);
Run Code Online (Sandbox Code Playgroud)
在我的自定义视图中,我有以下内容:
protected void onAnimationEnd() {
super.onAnimationEnd();
//this.clearAnimation();
if(_nextImage != null)
this.setImageDrawable(_nextImage);
}
private Drawable _nextImage;
public void setNextImage(Drawable d)
{
_nextImage = d;
}
Run Code Online (Sandbox Code Playgroud)
将其称为OnAnimationEnd中的第一个语句
theViewOnToWhichAnimationIsApplied.clearAnimation();
这应该解决它,因为它解决了我的.我也面对同样的事情
| 归档时间: |
|
| 查看次数: |
2877 次 |
| 最近记录: |