android 动画停留在最后一帧,android 下动画结束时闪烁问题

在Android中,若希望动画结束后元素保持在最后一帧位置,可以使用Animation的setFillAfter(true)方法。同时,应在onAnimationEnd回调中清除动画,并在此处修改布局参数,以避免不同手机因CPU差异导致的闪烁问题。确保修改布局参数和清除动画的顺序正确,以保证界面稳定性。
摘要由CSDN通过智能技术生成

android下动画效果如果想在动画结束的时候就停留在最后一帧画面上,则可以使用 Animation的setFillAfter(true)来设置一下。并且在在Animation的 清除动画。如果

android下动画效果如果想在动画结束的时候就停留在最后一帧画面上,则可以使用 Animation的setFillAfter(true)来设置一下。

并且在在Animation的 清除动画。

如果有需要在动画结束的时候对layoutparameters进行修改的地方,一定要在onAnimationEnd的线程里修改,修改完毕再clearAnimation。这样才会保证界面不会再次出现闪烁。如果放在别的进程里或者handler里,不同手机的CPU工作方式不一样,,有可能导致先把layoutparamter生效的时间在前,setFillAfter生效在后,导致再次出现闪烁。

setAnimationListener(new AnimationListener() {

public void onAnimationEnd(Animation arg0) {

//handler.sendEmptyMessage(1);

mainPage.clearAnimation();

}

@Override

public void onAnimationRepeat(Animation animation) {

// TODO Auto-generated method stub

}

@Override

public void onAnimationStart(Animation animation) {

// TODO Auto-generated method stub

}

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值