2012-02-12 14 views
5

Mam widok, który jest ustawiony całkowicie poza ekranem i próbuję animować go na ekranie.Android Animuj widok z ekranu nie działa

Kiedy zadzwonić:

view.startAnimation(tA); 

nic się nie dzieje, tA.initialize i tA.applyTransformation nigdy się nie sprawdził.

Jeśli przesuniemy widok tak, aby jakakolwiek jego część była widoczna przed rozpoczęciem animacji, animacja działa poprawnie.

Co zapobiega wyświetlaniu animacji widoku, gdy jest on umieszczony poza widokiem rodzica?

Odpowiedz

1

To zrozumienie wynika z tego samego problemu, który sprawia, że ​​animacje Androida nie działają dobrze, gdy są wyposażone w współrzędne poza ekranem do ich rozpoczęcia lub zakończenia.

Na forach Androida pojawiło się okno dialogowe o tym, że problem został rozwiązany, ale wciąż mam problemy z 4.2.

Edit:

Na drugim myśli, po prostu biegł tym answer i zapewnia alternatywę pracę, jeśli można użyć nowszych API (ObjectAnimator).

View view = this; 
ObjectAnimator anim = ObjectAnimator.ofFloat(view, "y", 0, 100); 
anim.setDuration(super.animationDuration()); 
anim.start(); 

Gdzie właściwości ObjectAnimator.ofFloat(view, "y", 0, 100);

ObjectAnimator.ofFloat(Object objBeingAnimated, String propertyBeingAnimated, float startValue, float endValue) 
0

znalazłem this answer użyciu ValueAnimator zmodyfikować MarginLayoutParams.topMargin (w moim przypadku) w onAnimationUpdate(), który Naprawiono problem. Mój widok rozpoczyna się od ustawionego marginesu, dzięki czemu widok jest wyłączony.

Podejście było obiecujące, ale nie zadziałało, miałem ten sam problem z odcięciem w przypadku wyświetleń poza ekranem, które otrzymałem pod numerem TranslateAnimation.

Powiązane problemy