android 硬币翻转动画,使用Android标准动画显示正在翻转的硬币的两面

我非常接近制作“硬币翻转”动画,但是由于当前动画系统的局限性(错误?) – 我无法找到一种方法来显示硬币在空中翻转的两侧.

例如,我有以下动画.XML:

android:shareInterpolator="false">

android:repeatCount="17"

android:repeatMode="reverse"

android:interpolator="@android:anim/accelerate_decelerate_interpolator"

android:fromXScale="1.0" android:toXScale="1.0"

android:fromYScale="1.0" android:toYScale="0.0"

android:pivotX="50%" android:pivotY="50%"

android:fillEnabled="true"

android:fillAfter="true"

android:duration="60"

/>

android:repeatCount="1"

android:repeatMode="reverse"

android:interpolator="@android:anim/accelerate_decelerate_interpolator"

android:fromXScale="1.0" android:toXScale="2.0"

android:fromYScale="1.0" android:toYScale="2.0"

android:pivotX="50%" android:pivotY="50%"

android:fillEnabled="true"

android:fillAfter="true"

android:duration="800"

/>

android:repeatCount="1"

android:repeatMode="reverse"

android:interpolator="@android:anim/accelerate_decelerate_interpolator"

android:fromXDelta="0%"

android:toXDelta="0%"

android:fromYDelta="0%"

android:toYDelta="-150%"

android:fillEnabled="true"

android:fillAfter="true"

android:duration="800"

/>

这通过在Y轴上缩放硬币并在循环上反转它来“伪造”翻转动画.与此相结合,有一个比例可以使整个动画更大,同时也可以上下翻译.但它只会显示硬币的一面.

我尝试了两个这样的动画,硬币的每一面,同时运行,但由于REPEATCOUNT在应用于AnimationSet时不能正常工作,我找不到错开它们的方法.否则我可以在一个动画之后(并且在另一个之前)引入某种延迟,因此它们交替,给出硬币翻转的错觉.

有谁知道我可以调整这个以获得所需的结果?

我曾想过放弃并做一个基于帧的动画(预渲染翻转为帧),但看起来你不能混合Frame&补间动画,所以我会失去翻转“高度”和“距离”效果.

(当涉及硬币着陆时,我还有另一个问题 – 例如最终结果是随机的,但我希望我能在最后切换实际结果吗?)

提前致谢!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值