我有一个ImageView,设置为"平移动画"。我想要ImageView移动时的实时坐标。
我在这里的代码:
ImageView myimage = (ImageView)findViewById(R.id.myimage);
Animation animation = new TranslateAnimation(100, 200, 300, 400);
animation.setDuration(1000);
myimage.startAnimation(animation);
animation.setRepeatCount(Animation.INFINITE);
int x = myimage.getLeft();
int y = myimage.getTop();
变量x和y不实时更新,只提供ImageView的原始静态坐标。
如何在ImageView运动时获得实时坐标?
你可以这样尝试,
ImageView myimage = (ImageView)findViewById(R.id.myimage);
Animation animation = new TranslateAnimation(100, 200, 300, 400);
animation.setDuration(1000);
myimage.startAnimation(animation);
animation.setRepeatCount(Animation.INFINITE);
int[] firstPosition = new int[2];
myimage.measure(View.MeasureSpec.EXACTLY, View.MeasureSpec.EXACTLY);
myimage.getLocationOnScreen(firstPosition);
int r = myimage.getMeasuredWidth() + firstPosition[1];
int rr = myimage.getMeasuredWidth() + firstPosition[0];
int[] imageCordinates = new int[2];
imgv1.getLocationOnScreen(imageCordinates);
x = imageCordinates[0] + (imgv1.getWidth() / 2);
y = imageCordinates[1] + (imgv1.getHeight() / 2);