Android animateLayoutChanges和锚定的fab闪烁

The*_*der 8 layout animation android flicker floating-action-button

我有一个FrameLayout,我替换活动创建与片段,我显示和隐藏一些视图与布局动画更改,这很好,但我有一个FloatingActionButton锚定到框架布局和布局动画隐藏或显示视图工厂闪烁,似乎没有动画,这些视图立即消失,然后返回并以视图为动画.

这真的打破了整个过渡的平滑,所以我的问题是否有其他人经历过这个?是否有针对此错误的修复或解决方法?

Bry*_*n W 4

这个问题似乎仍然存在于 SDK 29 的某些元素中,例如具有固有过渡的元素。CoordinatorLayout我修复它的方法是在设置 attribute 后将以下标志应用于 ViewGroup android:animateLayoutChanges="true"

  cLayout.getLayoutTransition().disableTransitionType(LayoutTransition.APPEARING);
  cLayout.getLayoutTransition().disableTransitionType(LayoutTransition.DISAPPEARING);
Run Code Online (Sandbox Code Playgroud)

这样,对于已经包含过渡的视图就不会重复过渡。

根据您的情况,您可以考虑禁用其他转换类型: LayoutTransition.CHANGE_APPEARING

LayoutTransition.CHANGE_DISAPPEARING