Android Studio记录一个错误:设置控件透明/位移/翻转动画,再设置控件不可见时的报错

动画ValueAnimator设置控件不可见需要注意什么

错误

给控件添加动画改变其透明度

ValueAnimator transparentLayoutAnim = null;
transparentLayoutAnim = ObjectAnimator.ofFloat(ll_ssm_transparent,"alpha", new float[]{0.0f, 0.8f});
transparentLayoutAnim.setDuration(1000);

后续需要再设置该控件不可见时

 ll_ssm_transparent.setVisibility(View.GONE);

发生错误。报错信息无,但是进度异常

分析解决

因为控件设置了透明度动画,可能需要先取消动画再进行设置控件不可见

ll_ssm_transparent.clearAnimation();
ll_ssm_transparent.setVisibility(View.GONE);

或者在控件属性上添加设置默认布局动画

android:animateLayoutChanges="true"

小结

在成功解决进度异常,然后重新测试了发现直接不取消动画而设置控件不可见也可以用,真正报错的并不是这透明动画的原因,而是我的代码有问题,onKeyDown()函数中的case 返回退出使用break时只是跳出case,外层还有return super.onKeyDown(keyCode, event),进度并不是异常,只是执行了back,亦或者说是finish。
使用return true即可解决问题。真是不应该犯的错误,毕竟这个在使用红外键值测试时已经使用过的,还是得严谨细心些才可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值