使用ObjectAnimator在Android

时间:2018-02-26 09:46:44

标签: android xml android-animation objectanimator

如何使用 ObjectAnimator 为视图的 X 属性设置动画,但只需在xml动画文件中设置起始位置,如下所示:

<objectAnimator 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"
    android:valueType="floatType"
    android:propertyName="x"
    android:valueFrom="100.0" />

布局中的最终位置(因为,对于我的情况,视图的最终位置将相对于布局中的其他视图)。 因此,我无法通过以下方式获得更精确的观看次数:

<objectAnimator 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"
    android:valueType="floatType"
    android:propertyName="x"
    android:valueFrom="100.0"
    android:valueFrom="300.0" />

使用视图动画而不是属性动画并使用 fromXDelta 属性,这很容易实现。

<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="1000"
        android:fromXDelta="100%p"/>
</set>

这会将视图从100%的屏幕宽度设置为布局中设置的位置。

1 个答案:

答案 0 :(得分:0)

这可能会帮助您在获得布局的最终​​位置时以编程方式执行动画:

ObjectAnimator anim = ObjectAnimator.ofFloat(solution_board_layout, 
  "translationX", 0, 300);
  anim.setDuration(0);
  anim.start();