Я пытаюсь использовать более новый стиль аниматоров свойств Android (а не более старые анимации представления), чтобы создать анимацию, чтобы встряхнуть представление по горизонтали.
Я написал следующий аниматор XML в /res/animator/shake.xml
<?xml version="1.0" encoding="utf-8"?>
<objectAnimator
xmlns:android="http://schemas.android.com/apk/res/android"
android:propertyName="translationX"
android:duration="100"
android:valueFrom="0f"
android:valueTo="20f"
android:valueType="floatType"
android:interpolator="@android:anim/linear_interpolator"
android:repeatCount="7"
android:repeatMode="reverse"/>
Я создал следующий метод расширения Kotlin для воспроизведения анимации в любом представлении:
fun View.shake() {
AnimatorInflater.loadAnimator(context, R.animator.shake).apply {
setTarget(this)
start()
}
}
Однако, когда я вызываю анимацию, ничего не происходит, и яне знаю почему.