gpt4 book ai didi

上面播放的Android Fragment过渡退出动画进入动画

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:46:56 30 4
gpt4 key购买 nike

我正在实现 Fragment 过渡动画。

我的退出动画是

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:ordering="together">
<objectAnimator
android:propertyName="scaleX"
android:valueType="floatType"
android:valueFrom="1.0"
android:valueTo="0.95"
android:duration="300"/>

<objectAnimator
android:propertyName="scaleY"
android:valueType="floatType"
android:valueFrom="1.0"
android:valueTo="0.95"
android:duration="300"/>

<objectAnimator
android:propertyName="x"
android:valueType="floatType"
android:valueFrom="0"
android:valueTo="10dp"
android:duration="300"/>
</set>

enter动画是:

<?xml version="1.0" encoding="utf-8"?>
<objectAnimator
xmlns:android="http://schemas.android.com/apk/res/android"
android:propertyName="x"
android:valueType="floatType"
android:valueFrom="1280"
android:valueTo="0"
android:duration="400"/>

交易是这样创建的:

fragmentManager.beginTransaction()
.setCustomAnimations(enter, exit, popEnter, popExit)
.replace(CONTENT_CONTAINER_ID, newFragment)
.addToBackStack(null)
.commit();

在正常的动画速度下,由于动画持续时间短,不需要的效果几乎看不见,但是,当你放慢它们时,你可以清楚地看到,z-order 是错误的。

进入 fragment 动画在退出 fragment 动画下方。是否有解决方法来解决这个问题?

最佳答案

我认为您可以尝试以下方法作为解决方法。

fragmentTr.setCustomAnimations(enter, exit);
fragmentTr.hide(currentFragment);
fragmentTr.add(containerId, newFragment, "aTag");
fragmentTr.show(newFragment);
fragmentTr.commit();

不要使用 replace()。我尝试了上面的方法,它奏效了。希望这会有所帮助。

关于上面播放的Android Fragment过渡退出动画进入动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22043042/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com