使片段转换同时动画视图

时间:2017-11-13 17:59:08

标签: android android-fragments android-animation android-transitions fragment-transitions

我正在用片段B替换片段A并使其动画化。片段B的RelativeLayout包含TextViewListView。我可以看到片段B中的视图分别被动画化,TextView以不同于列表项1字幕的速度滑入,而列表项1标题和图标立即出现而没有动画,我想同时制作动画的整个视图,这有可能实现吗?

    FragmentManager fragmentManager = getSupportFragmentManager();
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
    Fragment existing = fragmentManager.findFragmentById(R.id.welcome_content);
    if (existing != null) {                
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            fragmentToLoad.setAllowEnterTransitionOverlap(true);                    
            fragmentToLoad.setEnterTransition(new Slide(Gravity.RIGHT));
        }
        fragmentTransaction.remove(existing);
    }
    fragmentTransaction.add(R.id.welcome_content, fragmentToLoad);
    fragmentTransaction.commitNow();

1 个答案:

答案 0 :(得分:3)

android:transitionGroup="true"应用于FragmentB

的根布局

来自docs of ViewGroup#setTransitionGroup(boolean)

  

更改在活动转换期间是否应将此ViewGroup视为单个实体。如果falseViewGroup将不会转换,只会转移其子级。如果true,则整个ViewGroup将一起转换。