Я создал изогнутый путь, как это:
pathCurve.moveTo(0f, 0f)
pathCurve.cubicTo(0f,300f,500f, 300f, 500f,300f);
, и это выглядит так:
https://media1.tenor.com/images/de7ca7ff1c54e69ca2f77d8bc3cb8ef6/tenor.gif?itemid=5424985
Я думал, так как у меня есть путь, яможет использовать интерпретатор пути. Затем я увидел, что ObjectAnimator встроил его, поэтому я пытаюсь:
val path = Path().apply {
cubicTo(0f,300f,500f, 300f, 500f,300f);
}
val animator = ObjectAnimator.ofFloat(view, View.X, View.Y, path).apply {
duration = 2000
start()
}
, но как изменить цвет? кажется, что происходит 2 анимации. один делает его темным, затем второй возвращает его обратно в светлый цвет. так что то, что у меня есть, даже не достаточно.
тогда я подумал, что могу анимировать цвет фона, но не могу его скомпилировать:
ObjectAnimator.ofFloat(this,"backgroundColor", Color.Gray,Color.BLUE,path).apply {
duration = 2000
start()
}
кажется, он не работает с path. Как я могу добиться этого эффекта, если у меня уже есть изогнутый путь?
ОБНОВЛЕНИЕ: вот что я попробовал сейчас:
fun backgroundColor(vararg colors: Int) {
val objectAnimator = ObjectAnimator.ofInt(pathCurve, "backgroundColor", *colors)
objectAnimator.setEvaluator(ArgbEvaluator())
objectAnimator.start()
}
, и я называю это так:
backgroundColor(Color.RED)
я также получаю это предупреждение:
но ничего не происходит.