安卓动画 "Rolling in"

标签 android rotation translate-animation

我正在制作一个硬币从左边滚进来的动画。

到目前为止,我可以通过 RotateAnimation 使其旋转并通过 TranslateAnimation 使其移动。

现在我无法尝试让这两个同时运行。

{
    Animation animation = new TranslateAnimation(Animation.RELATIVE_TO_PARENT,-1f,Animation.RELATIVE_TO_PARENT,0,Animation.RELATIVE_TO_PARENT, 0, Animation.RELATIVE_TO_PARENT, 0);
    animation.setDuration(5000);
    setCoinAppear.addAnimation(animation);
}
{
    Animation animation = new RotateAnimation(0, 720, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
    animation.setDuration(5000);
    setCoinAppear.addAnimation(animation);
}

如果我同时启动它们,硬币将显示围绕中心的会聚圆周运动。

关于如何完成它有什么建议吗?

最佳答案

您需要创建一个 AnimationSet 并将每个动画添加到集合中,如下所示:

AnimationSet rollingIn = new AnimationSet(true);

Animation moving = new TranslateAnimation(Animation.RELATIVE_TO_PARENT,-1f,Animation.RELATIVE_TO_PARENT,0,Animation.RELATIVE_TO_PARENT, 0, Animation.RELATIVE_TO_PARENT, 0);
moving.setDuration(5000);

rollingIn.addAnimation(moving);

Animation rotating = new RotateAnimation(0, 720, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
rotating.setDuration(5000);

rollingIn.addAnimation(rotating);

setCoinAppear.startAnimation(rollingIn);

关于安卓动画 "Rolling in",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11946156/

相关文章:

android - 从android中的文件读取时添加的垃圾

ios - 如何为同一 View Controller 的不同设备方向加载不同的 XIB?

当父项悬停时,CSS 翻译子项

wpf - 表面开发: Translate/Rotate/Scale items without ScatterView

android - 检查设备是否可以接收短信

android view viewgroup 使ondraw和draw失效

android - 未找到 GoogleApiClient 类

c++ - OpenGL + SDL绕局部轴旋转

swift - 沿运动方向旋转对象

android - 动画android后按钮不起作用