ObjectAnimator'tradingY'给出的动画与'translationX不同

时间:2015-07-02 09:18:07

标签: android

在说它重复之前请注意我搜索了一个没有运气的解决方案,我看着这个: android objectanimator expand/collapse from top to bottom animation?

但它并没有真正解决我的问题。

我有一个让用户组装图像以获得结果的游戏。

由于图像被分割成小图像以便组装它们。

我需要的是当我点击其中一个图像时,我希望它在滑动动画中从旧位置移动到新位置。

这是我的代码,它运行得很好:

private ObjectAnimator GetConfiguration(ImageView s , ImageView d)
    {
        // get coordination
        int[]xy = new int[2];
        d.getLocationOnScreen(xy);
        int d_x = xy[0];
        int d_y = xy[1];
        s.getLocationOnScreen(xy);
        int s_x = xy[0];
        int s_y = xy[1];
        // source
        //some code here that I deleted since it's not important
        // check if right of it
        if(tag_s_l == tag_d_l) // same row
        {
            // check if right or left now
            if(tag_s_r == (tag_d_r + 1)) // from right to left
            {
                return ObjectAnimator.ofFloat(s, "translationX", d_x-s_x, 0); 
            }
            else
            {
                return ObjectAnimator.ofFloat(s, "translationX", -(s_x-d_x),0); 
            }
        }

        if(tag_s_l == (tag_d_l + 1)) // down to top
        {
            return ObjectAnimator.ofFloat(s, "translationY", -(s_y-d_y),0); 
        }
        else
        {
            return ObjectAnimator.ofFloat(s, "translationY", d_y-s_y, 0); 
        }
    }

我删除了一些代码,以便您可以更快地阅读它。基本上我得到了两个图像的x和y,然后将它们移动到另一个图像中。

此代码仅适用于x'水平',它为我提供了我想要的滑动动画,但是当我垂直移动'y'时它会给我和展开/折叠动画,但我想要滑动动画,而不是这个! / p>

更新:Pics。

这是问题的图片,第一张图片显示了小图片的原始位置,然后我将持续时间设置为10秒,这样就很清楚了,

http://oi57.tinypic.com/2qxryw0.jpg

这是第一张图片,它显示了图像的初始位置。

http://oi59.tinypic.com/14ac0p5.jpg

现在这是第二张图像,当我点击透明图像左侧的图像“黑色图像”时,我可以向右移动,同时我点击了我们移动的图像的顶部图像。正如您所看到的那样,从左到右的图像正在以滑动动画的形式移动,其中顶部的图像正在消失,然后显示为展开动画。但我希望双方都有滑动动画!

0 个答案:

没有答案