Android翻译动画移动到绝对位置

qwe*_*rtz 0 animation android interpolation android-animation

有没有办法告诉翻译动画始终移动到绝对位置,而不是相对于卡片的位置。据我所知,使用android:toXDelta只会将其移动到相对位置。我希望它从屏幕上的每个点移动到绝对位置(比方说屏幕宽度/2 和屏幕高度/2)。

我的动画:

<translate xmlns:android="http://schemas.android.com/apk/res/android"
           android:interpolator="@android:anim/accelerate_decelerate_interpolator"
           android:duration="1000"
           android:fromXDelta="0"
           android:fromYDelta="0"
           android:toXDelta="-20%p"
           android:toYDelta="-20%p" />
Run Code Online (Sandbox Code Playgroud)

mik*_*keD 5

从官方文档来看,从 XML 来看这是不可能的。但是,您可以在 Java 代码中执行此操作。例子:

    view.animate().translationX(0f).translationY(0f).setInterpolator(new AccelerateDecelerateInterpolator()).start();
Run Code Online (Sandbox Code Playgroud)

TranslationXTranslationY动画到绝对位置。还有TranslationXBy一种是TranslationYBy比较有生气的。