【发布时间】:2016-07-14 09:12:24
【问题描述】:
我有一个活动,默认情况下它的 FrameLayout 中加载了一个片段。并且我已经将片段的进入和退出转换设置如下:
HomeFragment homeFragment = new HomeFragment();
homeFragment.setEnterTransition(enter);
homeFragment.setExitTransition(exit);
getSupportFragmentManager().beginTransaction().replace(R.id.vg_full_container,homeFragment).commitAllowingStateLoss();
但是当我的活动启动时,片段没有显示任何过渡。
但是,如果我使用 FragmentTransaction 的setCustomAnimation(),片段会在屏幕上显示动画。同样由OnClick()等事件触发加载的片段,在同一个活动中,以setEnterTransition()和setExitTransition()转换到屏幕。但是活动的默认加载片段不会转换,或者至少我看不到任何转换发生。此外,我没有在加载此片段的活动上设置任何进入和退出转换。
如何让默认加载的片段与setEnterTransition() 和setExitTransition() 一起转换?
以下是过渡 XML 文件:
<?xml version="1.0" encoding="utf-8"?>
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
<slide
android:duration="400"
android:slideEdge="left" />
<targets>
<target android:excludeId="@id/toolbar"/>
<target android:excludeId="@id/collapsing_toolbar"/>
<target android:excludeId="@id/transaction_toolbar"/>
<target android:excludeId="@id/tab_layout"/>
</targets>
</transitionSet>
【问题讨论】:
标签: android android-fragments android-5.0-lollipop android-transitions