Android - Как взаимодействовать с представлением после его анимации?

У меня есть представление, которое анимируется с помощью TranslateAnimation:

TranslateAnimation translateAnim = new TranslateAnimation(fromX, toX, fromY, toY);
translateAnim.setDuration(SLIDING_SPEED);
translateAnim.setInterpolator(new BounceInterpolator());
translateAnim.setFillAfter(true);
mSlidingView.startAnimation(translateAnim);

Анимация работает нормально, но после ее завершения я больше не могу нажимать на изображение. Вместо этого я все еще могу нажать на его прежнее местоположение.

Я искал похожие вопросы ( здесь, здесь и здесь) в Stackru, но ни один из них не дает никакого решения. Я слышал, что ObjectAnimator исправил это, но могу ли я что-то сделать с помощью предыдущего API? (Я не хочу полагаться на еще одну стороннюю библиотеку, такую ​​как NineOldAndroids, для поддержки нового API-интерфейса анимации на устройствах перед сотовой разверткой). О, и я пытался сделать вид недействительным, но это ничего не меняет.

Любая идея?

Спасибо!

2 ответа

Решение

Ну, я думаю, что нет ссылки, но вы пробовали: (до setFillAfter)

translateAnim.setFillEnabled(true);

В API 11+ мы можем сделать это с помощью класса ObjectAnimator.

В API 10-, когда мы переводим представление, визуальное представление будет переведено, но физическое местоположение все еще в старом местоположении, изменение поля переведенного представления после завершения анимации может решить проблему.

Другие вопросы по тегам