如何在android中为圈子制作动画

时间:2013-10-24 22:50:32

标签: android animation

我是Android新手,想玩动画片。 我想做什么:

circles animation

每个小圆圈都应该是可点击的,现在只有2号可以取1个位置而反之亦然。我想我知道如何绘制圆圈并定位它周围的小圆圈(我正在研究它:P)但我不知道如何实现动画。有任何想法吗?提前谢谢!

2 个答案:

答案 0 :(得分:1)

哇...这是一个广泛的主题。

根据您打算如何绘制圈子(我使用自定义View),您可能想要创建某种Animation(可能是AnimationTranslation )。

您甚至可以在XML中定义这些动画,最有可能在Animation Set中定义,以便您可以并行执行各种动作。

这可能是一个起点:)

答案 1 :(得分:1)

创建一个值animator变量作为全局变量

mValueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
                @Override
                public void onAnimationUpdate(ValueAnimator animation) {
                    int angle = Integer.parseInt(animation.getAnimatedValue().toString());
                }
            });

然后将动画侦听器添加到valueanimator。

mValueAnimator.setIntValues(fromAngle, toAngle);

每当您想要旋转图形或自定义视图时,我都假设您已使用角度来旋转它们。

因此设置从角度和角度到动画师。

if (mValueAnimator.isRunning()) {
    mValueAnimator.end();
}
mValueAnimator.start();

启动动画。最好检查动画师是否已经在运行。

mValueAnimator.setInterpolator(new DecelerateInterpolator());

现在,您将获得设置为值animator的 AnimatorUpdateListener 的onAnimationupdate()方法中的动画值。

在这种情况下,该值是动画角度。使用角度,为旋转设置动画。

没有人喜欢线性动画。所以尽量使用插补器。

{{1}}

你可以使用AccelerateInterpolator,OvershootInterpolator等等。