Android ViewPager和片段之间的转换(外部ViewPager)

Android ViewPager和片段之间的转换(外部ViewPager),android,android-viewpager,transition,Android,Android Viewpager,Transition,我想实现ViewPager(填充了几个名为Timer2Fragment的片段实例)和RelativeLayout(这是一个片段容器,填充了一个名为mainMenu的MainMenuFragment实例)之间的转换。ViewPager本身就是此RelativeLayout的子项。请参见下面的我的活动_main.xml 我已经尝试过的: 通过FragmentStateChangeAdapter的getItem方法中的return语句获取当前显示的ViewPager片段。使用FragmentManag

我想实现ViewPager(填充了几个名为Timer2Fragment的片段实例)和RelativeLayout(这是一个片段容器,填充了一个名为mainMenu的MainMenuFragment实例)之间的转换。ViewPager本身就是此RelativeLayout的子项。请参见下面的我的活动_main.xml

我已经尝试过的: 通过FragmentStateChangeAdapter的getItem方法中的return语句获取当前显示的ViewPager片段。使用FragmentManager隐藏/显示当前显示的ViewPager片段和主菜单。没有成功:我看不到任何转变

我还考虑了另一种方法:使用LayoutTransitions,因为ViewPager和RelativeLayout都是一个视图组。但看起来,LayoutTransitions只适用于ViewGroup中的转换

请注意,我希望保持所有使用的片段运行。这就是为什么我使用隐藏/显示而不是删除/添加。这就是为什么我还稍微调整了适配器(背景:每个片段显示一个计时器,它在一个单独的线程中工作。)

你有办法解决我的问题吗

My Activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#ffffffff"
    android:layout_gravity="center"
    android:id="@+id/layout">

    <com.chitinsoftware.kitchentimer.customViewPager
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</RelativeLayout>
我的幻灯片在_left.xml中:

<?xml version="1.0" encoding="utf-8"?>
<set>
    <translate xmlns:android="http://schemas.android.com/apk/res/android"
        android:fromXDelta="-100%"
        android:toXDelta="0"
        android:interpolator="@android:anim/decelerate_interpolator"
        android:duration="500"/>
</set>

然后向右滑出:

<?xml version="1.0" encoding="utf-8"?>
<set>
    <translate xmlns:android="http://schemas.android.com/apk/res/android"
        android:fromXDelta="100%"
        android:toXDelta="0"
        android:interpolator="@android:anim/decelerate_interpolator"
        android:duration="500"/>
</set>

<?xml version="1.0" encoding="utf-8"?>
<set>
    <translate xmlns:android="http://schemas.android.com/apk/res/android"
        android:fromXDelta="-100%"
        android:toXDelta="0"
        android:interpolator="@android:anim/decelerate_interpolator"
        android:duration="500"/>
</set>
<?xml version="1.0" encoding="utf-8"?>
<set>
    <translate xmlns:android="http://schemas.android.com/apk/res/android"
        android:fromXDelta="100%"
        android:toXDelta="0"
        android:interpolator="@android:anim/decelerate_interpolator"
        android:duration="500"/>
</set>