片段事务动画叠加

时间:2015-12-21 14:02:08

标签: android animation android-fragments

我尝试在替换fragmentsreplace() fragment transaction)时使用动画。我用setCustomAnimations()设置了动画。 我的animation正在尝试将旧fragment与从右移动的新fragment重叠。但问题是:我可以看到旧views的视图,即使它已经被新的视图重叠了。只有动画完成后,旧的fragment才会消失。此外,当一个新的listviews是一个复杂的animation等...时,我可以看到一些人工制品和重叠时的闪烁。 这太糟糕了,我怎么能避免这种情况呢?

我输入<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:ordering="together"> <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/linear_interpolator" android:propertyName="x" android:valueType="floatType" android:valueTo="0" android:valueFrom="720" android:duration="250" android:zAdjustment="top"/> </set> 的代码:

as [PFObject]?

更新:关于人工制品 - 不是他们。这只是糟糕叠加的后果。我慢慢看动画。 所以问题是:旧片段保持在TOP。它在动画时完全重叠了新的。

2 个答案:

答案 0 :(得分:1)

你的问题发生是因为你在输入和退出动画中使用相同的动画文件,你必须为旧片段设置退出动画,不同于输入一个,比如到另一边

transaction.setCustomAnimations(<enterAnimationResId>, <exitAnimationResId>);

其中enterAnimationResId是一个xml文件,包含要在输入片段时应用的动画,exitAnimationResId是一个xml文件,包含在关闭现有片段时应用的动画。

答案 1 :(得分:0)

如果您的新片段没有背景设置,可能会导致您正在谈论的奇怪外观。如果是这种情况,只需在与第一个重叠的新片段上设置背景颜色。

android:background="@drawable/background"