如何交换两个或多个图像的位置?

时间:2015-04-11 11:40:42

标签: android image

如何通过为这些ImageView提供另一个ImageView的位置来更改它们的位置? (用慢动作交换它们)

blue = (ImageView) findViewById(R.id.imageB);
red = (ImageView) findViewById(R.id.imageR);
Green = (ImageView) findViewById(R.id.imageG);
int x = blue.getLeft();
int y = blue.getTop();

int x1 = red.getLeft();
int y1 = red.getTop();

int x2 = Green.getLeft();
int y2 = Green.getTop();


Green.setLeft(x);
Green.setTop(y);

blue.setLeft(x1);
blue.setTop(y1);

red.setLeft(x2);
red.setTop(y2);`

1 个答案:

答案 0 :(得分:1)

在android中,布局和动画之间存在差异。要动画图像,请使用 TranslateAnimation ,如here所述。

在动画结束时,如果布局没有改变,图像将返回到原始位置。因此,您需要设置一个回调,以便在动画完成时更改图像背景,以便布局将动画制作动画。

还有几种方法可以实现这一点,请阅读有关动画的更多信息here