Zmieniam lewy margines widoku obrazu w następujący sposób:Android - Zmiana lewy margines za pomocą animacji
ViewGroup.MarginLayoutParams layoutParams = (MarginLayoutParams) image.getLayoutParams();
layoutParams.leftMargin = VALUE;
image.setLayoutParams (layoutParams);
chciałbym zmianę marginesu do stosowania z animacją. Jakieś wskazówki?
Co próbowałem:
ObjectAnimator objectAnimator = ObjectAnimator.ofFloat (image , "x" , VALUE);
objectAnimator.start();
Działa to doskonale, a obraz zostanie przeniesiony do określonej wartości X z animacją, JEDNAK wartość layoutParams.leftMargin pozostaje niezmieniona !! Tak więc nie mogę użyć tej metody, ponieważ jeśli spróbuję zmienić wartość layoutParams.leftMargin na 100 po użyciu obiektu objectAnimator z wartością 100, zastosowana wartość jest niepoprawna (zastosowano 200 zamiast 100, efekt jeśli objectAnimator pozostaje mimo iż jestem ustawiając lewy margines w następujący sposób:.
klasylayoutParams.leftMargin = 100;
Dziękuję za wskazanie mnie we właściwym kierunku! :) – Leeeeeeelo
Nie zapomnij ustawić czas trwania, miałem pewne problemy z nim, dopóki nie ustawić czas trwania: 'a.setDuration (czas trwania);' –
Otrzymuję błąd, gdy próbuję użyć params.leftMargin. Najwyraźniej nie jest to pole – Soroush