首页 > 解决方案 > Android片段重新进入动画

问题描述

在我的应用程序中,我使用导航组件和谷歌自定义标签。我使用单个活动和多个片段(特别是它们是对话框片段)。

对于片段过渡,我定义了一些动画——我希望它们从右向左滑动出现,然后从右向左消失——这部分工作正常。

然后,我从片段导航到自定义选项卡活动。当我从这个活动返回到我的活动时,我看到片段正在使用动画进行enter动画处理(从右到左滑动)。这不是期望的行为。在这种特殊情况下如何防止出现此动画?

activity ----------> fragment ----------> fragment2 ------------> custom tab activity
         f1 slides in         f2 slides in          CTA slides in
fragment2 <------------------------- custom tab activity
          don't want f2 to slide in

我尝试使用不同的过渡属性,但它似乎只有在我改变时才有效windowEnterAnimation——这不是我想要的,因为它也改变了片段的正常显示方式。

我尝试将所有过渡设置分开enterexit淡化,但 fragment2 仍然以幻灯片动画重新进入。

<style name="SideDialogAnimation" parent="@style/Animation.AppCompat.Dialog">
        <item name="android:windowEnterAnimation">@anim/slide_in_left</item>
        <item name="android:windowExitAnimation">@anim/slide_out_right</item>
        <item name="android:windowEnterTransition">@android:transition/fade</item>
        <item name="android:windowExitTransition">@android:transition/fade</item>
        <item name="android:windowReturnTransition">@android:transition/fade</item>
        <item name="android:windowReenterTransition">@android:transition/fade</item>
        <item name="android:activityCloseEnterAnimation">@android:anim/fade_in</item>
        <item name="android:fragmentReenterTransition">@android:transition/fade</item>
        <item name="android:fragmentReturnTransition">@android:transition/fade</item>
</style>

标签: androidandroid-fragmentsandroid-transitionsfragment-animation

解决方案


推荐阅读