mi animowanie się ImageView
stosując następujące animacje Skala:animacja Skalowanie na już skalowany widzenia
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<scale
android:interpolator="@android:anim/accelerate_interpolator"
android:fromXScale="1.0"
android:toXScale="2.0"
android:fromYScale="1.0"
android:toYScale="2.0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="1000" />
<scale
android:interpolator="@android:anim/accelerate_interpolator"
android:fromXScale="2.0"
android:toXScale="0.0"
android:fromYScale="2.0"
android:toYScale="0.0"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="1000"
android:duration="1000" />
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:interpolator="@android:anim/linear_interpolator"
android:toDegrees="360" android:pivotX="50%" android:pivotY="50%"
android:repeatCount="3"
android:duration="800" android:startOffset="0" />
</set>
Ale problemem jest to, że ImageView
jest już skalowany przez układ, kiedy rozpoczyna się pierwsza animacja. To prowadzi do zauważalnego skoku, kiedy pierwsza animacja ustawia skalę na 1.0.
Czy istnieje sposób informowania animacji, że powinien rozpocząć się od rzeczywistego rozmiaru widoku w układzie? Próbowałem także pracować z procentami, które dały taki sam efekt.
Nie, co ja próbuję wykonać jest mieć Ani skalowania Początek nie zaczyna się od stałej wartości (ani 0.5 ani 1.0), ale od rzeczywistej wartości skalowania ImageView. Jest to konieczne, ponieważ nie wiem do jakiego rozmiaru View będzie wymiarowany na danym urządzeniu. –
Edytowałem swoją odpowiedź. Wypróbuj ten kod. – Sathya
Dziękuję, ale myślę, że źle zrozumiałeś pytanie. Moim problemem jest to, że ImageView może mieć dowolną skalę na początku. Rozpoczęcie od ustalonej skali spowoduje zauważalny skok w animacji, bez względu na to, co ustawię. –