Android ViewPager和片段之间的转换(外部ViewPager)
我想实现ViewPager(填充了几个名为Timer2Fragment的片段实例)和RelativeLayout(这是一个片段容器,填充了一个名为mainMenu的MainMenuFragment实例)之间的转换。ViewPager本身就是此RelativeLayout的子项。请参见下面的我的活动_main.xml 我已经尝试过的: 通过FragmentStateChangeAdapter的getItem方法中的return语句获取当前显示的ViewPager片段。使用FragmentManager隐藏/显示当前显示的ViewPager片段和主菜单。没有成功:我看不到任何转变 我还考虑了另一种方法:使用LayoutTransitions,因为ViewPager和RelativeLayout都是一个视图组。但看起来,LayoutTransitions只适用于ViewGroup中的转换 请注意,我希望保持所有使用的片段运行。这就是为什么我使用隐藏/显示而不是删除/添加。这就是为什么我还稍微调整了适配器(背景:每个片段显示一个计时器,它在一个单独的线程中工作。) 你有办法解决我的问题吗 My Activity_main.xml: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
<?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>