这些只是我在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上停止它并在线程内部获得一个循环,这可能有效。 但我认为我可以通过按钮获得一些问题,因为当以这种方式设置动画时,只有背景移动,而不是按钮区域本身
在这种情况下,我必须使用按钮进行更多调查
您如何看待这个问题,还有另一种方法可以实现我的目标吗? 这是更好的方法吗?
答案 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();