我尝试在替换fragments
(replace()
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。它在动画时完全重叠了新的。
答案 0 :(得分:1)
你的问题发生是因为你在输入和退出动画中使用相同的动画文件,你必须为旧片段设置退出动画,不同于输入一个,比如到另一边
transaction.setCustomAnimations(<enterAnimationResId>, <exitAnimationResId>);
其中enterAnimationResId
是一个xml文件,包含要在输入片段时应用的动画,exitAnimationResId
是一个xml文件,包含在关闭现有片段时应用的动画。
答案 1 :(得分:0)
如果您的新片段没有背景设置,可能会导致您正在谈论的奇怪外观。如果是这种情况,只需在与第一个重叠的新片段上设置背景颜色。
android:background="@drawable/background"