为了账号安全,请及时绑定邮箱和手机立即绑定

带有一些 ImageViews 的动画包

带有一些 ImageViews 的动画包

慕码人8056858 2022-12-21 10:09:30
我的 android 动画有问题。当我第一次单击我的 ImageView 时,我的图像有旋转,但是当我第二次单击我的 ImageView 时,旋转不起作用。为什么会这样?我在 Java 代码中的旋转方法:private boolean tomIsInvisible = false;public void eraseTom(View view) {    ImageView tom = findViewById(R.id.tom);    ImageView jerry = findViewById(R.id.jerry);    if (tomIsInvisible) {        tom.animate()                .rotation(3600)                .scaleX(1)                .scaleY(1)                .alpha(1)                .setDuration(3000);        jerry.animate()                .rotation(3600)                .scaleX(0)                .scaleY(0)                .alpha(0)                .setDuration(3000);        tomIsInvisible = false;    } else if(!tomIsInvisible) {        tom.animate()                .rotation(3600)                .scaleX(0)                .scaleY(0)                .alpha(0)                .setDuration(3000);        jerry.animate()                .rotation(3600)                .alpha(1)                .scaleX(1)                .scaleY(1)                .setDuration(3000);        tomIsInvisible = true;    }}我的 ImageView 上的其他方法可以正常工作。
查看完整描述

1 回答

?
月关宝盒

TA贡献1772条经验 获得超5个赞

当你第一次打电话时,它会从到rotation(3600)动画。(默认视图旋转为)。在第一个动画之后(在为事物设置动画时更改属性的实际值)。因此,当您第二次调用您的视图时,您尝试将其动画化为. 这就是为什么没有视觉变化的原因。有rotationBy方法将指定值应用于视图旋转,尝试使用它。rotation036000rotation3600ViewPropertyAnimatorrotation(3600)rotation36003600

view.animate().rotationBy(3600)

另一种解决方案是从 0 到 360 设置动画,并在动画结束时将视图旋转重置为 0。


查看完整回答
反对 回复 2022-12-21
  • 1 回答
  • 0 关注
  • 115 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号