Intereting Posts
NullPointerException: попытка вызвать виртуальный метод 'int java.util.ArrayList.size ()' для ссылки на нулевой объект Использование сокетов для отправки и получения данных Android: имеет ли приложение только один объект Контекста Как добавить границу вокруг TableLayout? Android ActionBar MenuItem LowerCase Tools.jar, похоже, не в classpath для Android Studio в Windows 8 Как создать эмулятор предварительного просмотра Android-M? Как использовать GridLayoutAnimation в RecyclerView? Использование roboguice без расширения активности Камера PhoneGap перезапускает приложение Как делиться текстом и изображением в Google Plus (G +) с андроидом без использования намерения? Управление WebView с фокусом блокирует события медиа-кнопок в Android 5 Запуск ярлыка ключа Eclipse больше не работает с XML-файлами Как решить «Элемент, который вы пытались купить, не найден» Включить реальное фиксированное позиционирование в браузерах Samsung Android

Пауза / возобновление анимации в API менее 19 (Android)?

Я понимаю, что методы паузы и возобновления объектов objectanimator доступны только для API: 19. Однако, поскольку ни у меня, ни у половины пользователей Android нет этого API, есть ли альтернатива, чтобы заставить вашу анимацию остановиться, а затем возобновить ее из одного и того же состояния, а не начинать с начала? Любая помощь будет принята с благодарностью.

В моем проекте мне пришлось сделать анимацию поворота (это будет пауза и возобновление с той же / конечной позиции), и я решил ее, получив текущее время аниматора (когда анимация заканчивается / когда я нажимаю паузу) После запуска аниматора я устанавливаю «setCurrentPlayTime (с конечным временем)». Для получения текущего времени я использую getCurrentPlayTime (); И для установки времени я использую setCurrentPlayTime () класса ObjectAnimator.

Ссылки: http://developer.android.com/reference/android/animation/ValueAnimator.html#setCurrentPlayTime(long) http://developer.android.com/reference/android/animation/ValueAnimator.html#getCurrentPlayTime ()

private ObjectAnimator mObjectAnimator; private long mAnimationTime; private void stopAnimation() { if(mObjectAnimator != null) { mAnimationTime = mObjectAnimator.getCurrentPlayTime(); mObjectAnimator.cancel(); } } private void playAnimation() { if (mObjectAnimator != null) { mObjectAnimator.start(); mObjectAnimator.setCurrentPlayTime(mAnimationTime); } }