在说它重复之前请注意我搜索了一个没有运气的解决方案,我看着这个: 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
现在这是第二张图像,当我点击透明图像左侧的图像“黑色图像”时,我可以向右移动,同时我点击了我们移动的图像的顶部图像。正如您所看到的那样,从左到右的图像正在以滑动动画的形式移动,其中顶部的图像正在消失,然后显示为展开动画。但我希望双方都有滑动动画!