Android旋转动画和翻译动画无法协同工作

时间:2018-12-25 03:26:12

标签: android android-animation

我正在开发两种不同的动画,如下所示。

enter image description here

我能够使用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);

先谢谢了。

0 个答案:

没有答案