【问题标题】:How do i get the coordinates of a view during animation android我如何在动画android期间获取视图的坐标
【发布时间】:2014-08-27 11:09:50
【问题描述】:

这些只是我在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 上停止它并通过线程内的循环获取坐标,这可能有效。 但我认为按钮可能会出现一些问题,因为当以这种方式为它们设置动画时,只有背景移动,而不是按钮区域本身

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

您对此有何看法,还有其他方法可以实现我想要的吗?
这是更好的方法吗?

【问题讨论】:

  • 我认为问题在于你如何定义你的动画。请显示以下代码:Animation animation = new ???

标签: java android animation


【解决方案1】:

我研究过,我得到的是这个,而不是 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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-14
    • 1970-01-01
    • 2013-02-24
    • 1970-01-01
    • 1970-01-01
    • 2016-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多