LayoutTransition CHANGE_APPEARING和CHANGE_DISAPPEARING动画未运行

时间:2018-09-05 18:04:34

标签: android android-layout

我有一个测试应用程序,该应用程序具有一个带有两行的简单LinearLayout。当我删除底部的行时,我希望两行之间的边缘平滑地向下滑动,以有效地隐藏底部的行并扩展顶部的行。

我有几乎可以解决问题的代码,但不能完全解决。当我“走”下一行时,下一行会滑出视线。但是,第一行也需要设置动画。我启用了CHANGE_APPEARING和CHANGE_DISAPPEARING来执行此操作,并且可以看到它们被调用,因为我已设置了侦听器以在处理每种类型时进行记录。

但是,当我为这两种过渡类型(如下所示)调用setAnimator()时,它们突然变得安静了,甚至听众也不再报告正在调用它们。

...
//setAnimation(lt, mTopFrame, CHANGE_APPEARING, 0, BOTTOM_FRAME_HEIGHT);
//setAnimation(lt, mTopFrame, CHANGE_DISAPPEARING, BOTTOM_FRAME_HEIGHT, 0);
...

private void setAnimation(LayoutTransition lt, FrameLayout fl, final int transitionType, int start, int end) {
    ObjectAnimator oa = ObjectAnimator.ofFloat(fl, "translationY", start, end);
    lt.setAnimator(transitionType, oa);
}

如何使这些动画运行?

0 个答案:

没有答案