将imageView从一个位置移动到另一个位置

时间:2015-08-07 08:13:23

标签: android animation imageview position

我正在制作一个游戏,其中imageView球需要从屏幕上的一个点移动到另一个点。球的起点位于洞的imageView处,我希望它在洞的另一个imageView处结束。

无论如何,我没有找到任何方法来获得起点(第一洞​​)或终点(第二洞)的位置。我尝试使用getLocationOnScreen(Loc),但它一直返回0。

我真的需要你的帮助,因为我正在寻找解决方案很长一段时间。 如果有人能写出一个可行的详细答案,我将不胜感激。 在此先感谢:)

以下是我的尝试:

int fromLoc[] = new int[2];
holes[6].getLocationOnScreen(fromLoc);     
float startX = fromLoc[0];
float startY = fromLoc[1];

和此:

RelativeLayout.MarginLayoutParams params = 
    (RelativeLayout.MarginLayoutParams) imgBall0.getLayoutParams();
params.setMargins(holes[5].getLeft(), holes[5].getTop(), 
    holes[5].getRight(), holes[5].getBottom()); //all in pixels
imgBall0.setLayoutParams(params);

holes[5]imgBall0需要到达的终点。 holes[5]imageButton,位于relativeLayoutLinearLayout

再次感谢!

2 个答案:

答案 0 :(得分:0)

您是否尝试过getX()和getY()方法?它们返回一个以像素为单位表示视图位置的int。

答案 1 :(得分:0)

如果你想制作一个流畅动画的游戏,我建议使用全屏SurfaceView或View并用画布绘制球和洞。它不适合使用像ImageView这样的Android Widget制作游戏。

相关问题