我是 android 新手,想玩一点动画。我想做的事:
每个小圆圈都应该是可点击的,目前只有数字 2 可以代替 1,反之亦然。我想我知道如何绘制圆圈并定位它周围的小圆圈(我正在研究它:P),但我不知道如何实现动画。有任何想法吗?提前致谢!
哇……这是一个广泛的主题。
根据您打算如何绘制圆圈(我会使用自定义View),您可能想要创建某种动画(可能是AnimationTranslation)。
您甚至可以在 XML 中定义这些动画,很可能在动画集中定义,这样您就可以并行执行各种操作。
这可能是一个起点:)
创建一个值动画器变量作为全局变量
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 等等。