Возможно, вам потребуется добавить android:fillAfter="true"
или эквивалент из кода setFillAfter(boolean fillAfter)
, чтобы преобразование было постоянным после завершения перевода.
Если для параметра fillAfter задано значение true, преобразование, выполненное этой анимацией, будет сохранено после ее завершения.По умолчанию установлено значение false, если не установлено.
// Редактировать: изначально я не читал, что вы используете метод API Level 11+ setTranslationY.
Устанавливает вертикальное положение этого вида относительно его верхнего положения.Это эффективно позиционирует объект после макета, в дополнение к тому, куда его поместил макет объекта.
Я предполагаю, что позиционирование после макета не влияет на все зависимости для анимации, например, оно не влияетсделайте эквивалент «fillAfter», следовательно, ваш результат не соответствует ожиданиям.Не очень приятный обходной путь может заключаться в отбрасывании метода setTranslationY и выполнении перевода с помощью TranslationAnimation.Установив длительность на ноль, вы можете имитировать «мгновенный» перевод.Я успешно сделал анимированные ротации после перевода, поэтому, используя этот подход, вы сможете получить результат, который ищете ...