Is there any better way to get x and y co-ordinates of a view if the view is set to animate for a few seconds in a clockwise direction.
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
Log.d("Anim", "Anim started");
float g = wheelMenu.getX();
float h = wheelMenu.getY();
}
@Override
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
Log.d("Anim", "Anim ended");
float i = wheelMenu.getX();
float j = wheelMenu.getY();
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
Log.d("Anim", "Anim started");
float k = wheelMenu.getX();
float l = wheelMenu.getY();
}
我使用下面的代码来获得X,Y坐标。要求是以圆形方式旋转视图,并且监听器捕获运动事件以获得沿动画路径的XY坐标。
答案 0 :(得分:0)
这有点晚了,但仍然值得回答。获取视图坐标的另一种方法是使用getGlobalVisibleRect
,它将获得相对于根/顶级父视图的视图矩形。
例如
TextView textView = (TextView) findViewById(R.id.view_id);
Rect view_rect = new Rect();
textView.getGlobalVisibleRect(view_rect);
int x = view_rect.left;
int y = view_rect.top;
我不确定在获取矩形和视图移动之间是否会有明显的延迟,因为有动画正在运行。但是,通过查看您的视图的父视图很少,这将最小化。
您的问题似乎不清楚是否要检索运动事件或视图的坐标,因为提到了运动代码。如果是这种情况,请在下面发表评论和/或调整您的问题。