我正在开发两种不同的动画,如下所示。
我能够使用Object animator和FrameLayout开发的第一个动画。基本上,我在以重力为中心的框架布局中创建了两个矩形和烛台。在制作动画开始时,我使用了对象动画制作器将它们向任一侧移动并返回到初始位置。
我的第二个动画是这里的重点。在此动画中,矩形将从其初始点开始沿圆形路径移动,并返回其初始点。在此过程中,蜡烛需要与矩形同步移动,以产生弹簧效果(或)某种切成矩形的矩形。 我最初的想法是重新使用第一个动画,就像第一个动画运行时一样,我将在frameLayout视图上运行旋转动画。 但这似乎在旋转有效的情况下不起作用,但平移无效。
有人可以说我是否采取了正确的方法,还是应该使用其他方法来实现这一目标?
添加我尝试过但无法使用的代码。
Animation anim = new RotateAnimation(0.0f, 360.0f, pivotX, pivotY);
anim.setDuration(500);
anim.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
for(View view : mCandleSticks) {
ObjectAnimator anim1 = ObjectAnimator.ofFloat(view, "translationX", view.getX(), targetPos, view.getX());
anim1.setDuration(500);//set duration
anim1.start();//start animation
}
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
}
});
frameLayout.startAnimation(anim);
先谢谢了。