#java #android #animation
#java #Android #Анимация
Вопрос:
это всего лишь методы, которые я могу переопределить во время 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. Я думаю, проблема в том, как вы определяете свою анимацию. Пожалуйста, покажите код этого: 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();