ObjectAnimator 忽略 LayoutTransition 中的持续时间

ObjectAnimator ignoring duration in LayoutTransition

我的布局转换忽略了我在 setDuration() 中设置的持续时间。无论我将其设置为什么值,它似乎都在使用默认值。这里我试了50s,几毫秒后就消失了。

Animator disappearingAnim = ObjectAnimator
        .ofFloat(null, "alpha", 0f)
        .setDuration(50000);

mTransitioner.setAnimator(LayoutTransition.DISAPPEARING, disappearingAnim);
mLayout.setLayoutTransition(mTransitioner);

上面的代码片段应该会导致消失的视图在 50 秒内淡出,但它们却在 ~300 毫秒内淡出。

我看过 and this question,但我在开发者选项中将动画师比例设置为 1x。

事实证明,我对 LayoutTransition 的工作方式存在误解。添加持续时间的正确方法如下:

mTransitioner.setDuration(
    LayoutTransition.DISAPPEARING, // Transition type
    disappearingAnim, 1000L        // duration in ms
);