如何在动画android期间获取视图的坐标

时间:2014-07-07 03:22:46

标签: java android animation

这些只是我在animationListener中可以覆盖的方法。 http://developer.android.com/reference/android/view/animation/Animation.AnimationListener.html

Animation animation

animation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.device_box);

animation.setAnimationListener(new AnimationListener(){
        @Overridepublic void onAnimationEnd(Animation arg0) {}
        @Override public void onAnimationRepeat(Animation animation) {}
        @Override public void onAnimationStart(Animation animation) {}});

我认为在onAnimationStart中添加一个线程并在onAnimationEnd上停止它并在线程内部获得一个循环,这可能有效。 但我认为我可以通过按钮获得一些问题,因为当以这种方式设置动画时,只有背景移动,而不是按钮区域本身

在这种情况下,我必须使用按钮进行更多调查

您如何看待这个问题,还有另一种方法可以实现我的目标吗? 这是更好的方法吗?

1 个答案:

答案 0 :(得分:0)

我研究过,我得到的是这个,而不是X和Y,但可以处理数据,因为得到了动画的时间。

                 ObjectAnimator anim = ObjectAnimator.ofFloat(box_image, "translationX", 0 , cant);

                  anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
                                @Override
                                public void onAnimationUpdate(ValueAnimator arg0) {

                                  double f = Math.round(arg0.getAnimatedFraction()*1000.0)/1000.0;
                                    Log.d("datos", ""+f);
                                }
                            });
                  anim.setDuration(1000);
                  anim.start();