你好堆栈溢出的程序员!我已经度过了这个问题的好一周,现在我非常渴望一个解决方案.
我正在使用android.app.Fragment,不要与支持片段混淆.
我有6个子片段命名为:
FragmentOneFragmentTwoFragmentThreeFragmentAFragmentBFragmentC我有2个父片段命名:
FragmentNumericFragmentAlpha我有1个名为的活动:
MainActivity他们表现如下:
你可能已经猜到了,
FragmentNumeric显示子片段FragmentOne,FragmentTwo和FragmentThree.
FragmentAlpha显示子片段FragmentA,FragmentB和FragmentC.
我正在尝试过渡/动画父母和子女片段.儿童片段按预期顺利过渡.但是,当我转换到新的父片段时,它看起来很糟糕.子片段看起来像是从其父片段运行独立过渡.并且子片段看起来也像是从父片段中删除的.它的gif可以在这里查看https://imgur.com/kOAotvk.注意单击Show Alpha时会发生什么.
我能找到的最接近的问题和答案是:嵌套片段在过渡动画期间消失,但所有答案都不满意.
我有以下动画效果(持续时间很长,用于测试目的):
fragment_enter.xml
<?xml version="1.0" encoding="utf-8"?>
<set>
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="4000"
android:interpolator="@android:anim/linear_interpolator"
android:propertyName="xFraction"
android:valueFrom="1.0"
android:valueTo="0" />
</set>
Run Code Online (Sandbox Code Playgroud)
fragment_exit.xml
<?xml version="1.0" encoding="utf-8"?>
<set>
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="4000"
android:interpolator="@android:anim/linear_interpolator"
android:propertyName="xFraction"
android:valueFrom="0"
android:valueTo="-1.0" />
</set>
Run Code Online (Sandbox Code Playgroud)
fragment_pop.xml
<?xml version="1.0" encoding="utf-8"?> …Run Code Online (Sandbox Code Playgroud) android android-fragments fragmenttransaction android-nested-fragment fragment-animation
android ×1