Я пытаюсь сделать две анимации в одном и том же виде: одну для backgroundTint и одну для масштаба ... Использование ObjectAnimator.ofPropertyValuesHolder
имеет смысл, так как вы можете просто перечислить propertyValueHolder, который представляет анимацию.У меня есть что-то вроде этого:
val enabledColor = context.getColor(R.color.colorAccent)
val disabledColor = context.getColor(R.color.colorDisabled)
val anim = ObjectAnimator.ofPropertyValuesHolder(imgBackground,
PropertyValuesHolder.ofFloat(View.SCALE_X, 1F, 1.2F),
PropertyValuesHolder.ofFloat(View.SCALE_Y, 1F, 1.2F),
PropertyValuesHolder.ofInt("colorFilter", enabledColor, disabledColor)
)
Однако colorFilter
(который является фоновым оттенком) не анимируется должным образом, поскольку он анимирует Int ... Когда анимация воспроизводится, background_tint заканчиваетсяместо: желтый, зеленый и т. д. Я хотел бы сохранить этот стиль - используя ObjectAnimator для группировки всех анимаций.
Ранее у меня было:
ObjectAnimator.ofArgb(imgBackground, colorAnimProperty, disabledColor, enabledColor)
val scaleUpAnim = ObjectAnimator.ofPropertyValuesHolder(imgBackground,
PropertyValuesHolder.ofFloat(View.SCALE_X, 1F, 1.2F),
PropertyValuesHolder.ofFloat(View.SCALE_Y, 1F, 1.2F)
)
Что и помогает,но это неудобно, так как мне нужен AnimationSet для их объединения ...
Как написать анимацию background_tint, используя PropertyValuesHolder
?