2

我是 android 新手,想玩一点动画。我想做的事:

圆圈动画

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

4

2 回答 2

1

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

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

您甚至可以在 XML 中定义这些动画,很可能在动画集中定义,这样您就可以并行执行各种操作。

这可能是一个起点:)

于 2013-10-24T22:59:16.430 回答
1

创建一个值动画器变量作为全局变量

ValueAnimator mValueAnimator = new ValueAnimator();

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

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

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

所以设置从角度和角度到动画师。

mValueAnimator.setIntValues(fromAngle, toAngle);

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

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

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

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

没有人喜欢线性动画。所以尝试使用插值器。

mValueAnimator.setInterpolator(new DecelerateInterpolator());

您可以使用 AccelerateInterpolator、OvershootInterpolator 等等。

于 2016-09-05T14:35:02.223 回答