Как сделать анимацию с помощью Object Animator - PullRequest
0 голосов
/ 13 июня 2018

При использовании anim я мог бы сделать что-то подобное

ScaleAnimation animation = new ScaleAnimation(0, 1.0, 0, 1.0, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);

, чтобы масштабировать от 0 до исходного размера объекта.

Как я могу сделать то же самое с ObjectAnimator илиValueAnimator

1 Ответ

0 голосов
/ 13 июня 2018

Вы можете использовать что-то подобное для ValueAnimator :

ValueAnimator translate = ValueAnimator.ofFloat(1f, 1.5f);
translate.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
    @Override
    public void onAnimationUpdate(ValueAnimator animation) {
        float scale = Float.parseFloat(animation.getAnimatedValue().toString());
        yourView.setScaleX(scale);
        yourView.setScaleY(scale);
    }
});
translate.start();

И что-то вроде этого для ObjectAnimator :

AnimatorSet animationSet = new AnimatorSet();

ObjectAnimator scaleY = ObjectAnimator.ofFloat(view,"scaleY", 1f, 1.5f);
ObjectAnimator scaleX = ObjectAnimator.ofFloat(view,"scaleX", 1f, 1.5f);

animationSet.playTogether(scaleX, scaleY);
animationSet.start();

Вы также можете установить длительность / интерполятор / задержку и аналогичные свойства для обеих анимаций.Также не забудьте запустить анимацию после настройки.

ПРИМЕЧАНИЕ: Этот код не проверялся, что-то может работать неправильно.

...