Android затухает анимация с помощью функции Cosine - PullRequest
1 голос
/ 04 октября 2011

У меня в приложении Android Honeycomb есть View, в котором есть анимация постепенного появления и исчезновения. Вот большая часть анимационного кода:

 <scale
    android:fromXScale="1.0"
    android:toXScale="1.0"
    android:fromYScale="1.0"
    android:toYScale="0.0"
    android:pivotX="0%"
    android:pivotY="0%"
    android:duration="500" />

То, как сейчас работает анимация, происходит за линейное время, но я хочу сделать это в соответствии с функцией косинуса, то есть от Cos (0) до Cos (0,5 * pi), случая исчезновения. Можно ли сделать такую ​​вещь?

Спасибо.

Ответы [ 2 ]

1 голос
/ 04 октября 2011

Вы можете создать свой собственный Interpolator.( См. Описание интерфейса здесь .) Это можно применить с помощью Animation.setInterpolator(Interpolator).Или см. в этом обсуждении о способах применения пользовательских Interpolators в XML.

1 голос
/ 04 октября 2011

Если вам не нужна линейная интерполяция, у вас есть выбор между:

AccelerateDecelerateInterpolator, AccelerateInterpolator, AnticipateInterpolator, AnticipateOvershootInterpolator, BounceInterpolator, CycleInterpolator * * DelelerateInterpoltor, DepolleInterpolator 1001006 *http://developer.android.com/reference/android/view/animation/Interpolator.html

Так что, может быть, что ближе всего к косинусу:

AccelerateDecelerateInterpolator

Интерполятор, где скорость изменения начинается и заканчивается медленно, ноускоряется через середину.

...