Вопрос

Это кажется очень простым: я пытаюсь установить интерполятор для использования для анимации в моем приложении. Мне нужно установить это в коде Java, а не XML (он изменится в соответствии с различными вещами).

На сайте Android я нашел setInterpolator()

Однако я не уверен, как использовать это.

Я пытался просто кормить в межполярном имени (т.е. BounceIterpolator), но это ничего не сделало.

Я старался R.anim.BounceIterpolator, но Intellisense сказал anim cannot be resolved or is not a field.

Итак, как я могу установить интерполятор с Java?

Это было полезно?

Решение

setInterpolator(new BounceInterpolator());

Другие советы

anim.setInterpolator(context, android.R.anim.bounce_interpolator);

Обновлять:

Android теперь поддерживает настоящую весну и физику в анимации. Его часть обратной совместимой либера. Ссылка на сайт

Для пользовательских интерполяторов:

  1. Создайте пользовательскую кубическую кривую Безера, используя это Потрясающий сайт. Анкет И получить контрольные точки для кривой.
  2. Interpolator customInterpolator = PathInterpolatorCompat.create(cpX1,cpX2,cpY1,cpY2)
  3. Добавьте этот CustomInterpolator в любую вашу анимацию.

Добавлено сутьАнкет Немного больше здесь.

Благодаря Амальбит Я написал интерполятор с PathInterpolator для ProgressBar в котлине.

val path = Path()
path.lineTo(0.1f, 0.2f)
path.lineTo(0.7f, 0.9f)
path.lineTo(1f, 1f)
val animation = ObjectAnimator.ofInt(progress_bar, "progress", 0, 100)
animation.duration = 2000
animation.interpolator = PathInterpolatorCompat.create(path)
animation.addListener(object : Animator.AnimatorListener {
    override fun onAnimationStart(animator: Animator) {}

    override fun onAnimationEnd(animator: Animator) {
        finish()
    }

    override fun onAnimationCancel(animator: Animator) {}

    override fun onAnimationRepeat(animator: Animator) {}
})
animation.start()

Смотрите больше примеров на https://www.programcreek.com/java-api-examples/index.php?api=android.view.animation.pathinterpolator.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top