Как редактировать андроид анимационный интерполятор?
Мне нужно сделать анимированный диалог, управляемый масштабом. Я хочу сделать это с эффектом отскока.
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="500"
android:fromXScale="0"
android:fromYScale="0"
android:interpolator="@android:anim/bounce_interpolator"
android:toXScale="1"
android:toYScale="1" />
Я хочу изменить эффект отскока, сделать его медленнее / быстрее и размер для отскока. я ничего не нашел, T пытался сделать это с помощью наборов
<set >
<scale
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="500"
android:fromXScale="0"
android:fromYScale="0"
android:toXScale="1"
android:toYScale="1" />
<scale
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="100"
android:fromXScale="1"
android:fromYScale="1"
android:startOffset="500"
android:toXScale=".8"
android:toYScale=".8" />
<scale
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="100"
android:fromXScale=".8"
android:fromYScale=".8"
android:startOffset="600"
android:toXScale="1"
android:toYScale="1" />
</set>
вся анимация действует странно? так что мой вопрос, как исправить эту анимацию с помощью набора или как изменить bounce_interpolator?
1 ответ
Решение
Используйте ipfx.org для создания пользовательских интерполяторов.
Возьмите пример отказов и отредактируйте его под свои нужды.
http://ipfx.org/?p=7ffffffe575efffe9e02fffed8f6fffe&l=2f13c5ac138b3d6ad338a5a77a8386807d6e
Чем использовать созданный интерполятор в вашем приложении ()
import org.ipfx.Interpolator;
...
...
final org.ipfx.Interpolator interpolator = org.ipfx.Interpolator.parseUrl(urlData);
ObjectAnimator animator = ObjectAnimator.ofFloat(...);
animator.setDuration(1000);
animator.setInterpolator(new TimeInterpolator() {
@Override
public float getInterpolation(float input) {
return interpolator.calc(input);
}
});
animator.start();