-
adarash
- Сообщения: 333
- Зарегистрирован: 17 июл 2013, 09:59
Сообщение
adarash » 17 июл 2014, 13:45
Существует обычная анимация
Код: Выделить всё
TranslateAnimation animation = new TranslateAnimation(
Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF,
0, Animation.RELATIVE_TO_SELF, 0,
Animation.RELATIVE_TO_PARENT, 1f);
и слушатель к ней
Код: Выделить всё
animation.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
}
});
Но мне недостаточно обычного слушателя который срабатывает вначале и в конце анимации. Мне нужно что бы он срабатывал во время анимации. Как мне это реализовать? Если вопрос нубский - прошу меня простить(всюночно кодил, дедлайн скоро).
-
altwin
- Сообщения: 1951
- Зарегистрирован: 13 ноя 2013, 14:46
Сообщение
altwin » 18 июл 2014, 18:42
Стандартная анимация не предусматривает промежуточного состояния, ответ заключается в создании своей анимации и расширении класса Animation.
Но думаю можно просто добавить listeneр, когда анимация уже hasStarted() и еще не hasEnded(), а чтобы успеть можно попробывать выставить setDuration()

-
adarash
- Сообщения: 333
- Зарегистрирован: 17 июл 2013, 09:59
Сообщение
adarash » 18 июл 2014, 18:50
Я сделал класс, который после старта начинает опрашивать View, с определенной периодичностью, о его состоянии и когда обычный слушатель заканчивает анимацию, я останавливаю этот класс.
-
altwin
- Сообщения: 1951
- Зарегистрирован: 13 ноя 2013, 14:46
Сообщение
altwin » 18 июл 2014, 18:55
adarash писал(а):Я сделал класс, который после старта начинает опрашивать View, с определенной периодичностью, о его состоянии и когда обычный слушатель заканчивает анимацию, я останавливаю этот класс.
Ну думаю можно и так тоже, просто Animation уже имеет методы и что то вроде
animation.hasStarted() ? { while( ! animation.hasEnded() ) { //TODO } } : //TODO - должно работать...