在Android ViewPager中*替换*片段时应用自定义动画
我的应用程序执行以下操作:在Android ViewPager中*替换*片段时应用自定义动画,android,android-fragments,android-viewpager,Android,Android Fragments,Android Viewpager,我的应用程序执行以下操作: ViewPager中有一组“卡片”。当用户左右滑动时,用户可以通过PageTransformer动画在卡片/页面中滑动 用户可以使用卡翻转动画(如中所述)在查看卡的正面和背面之间切换 我需要支持API 14+ 我尝试过各种方法,但每种方法都有问题 方法1:嵌套片段 我在顶层有一个ViewPager,可以在“卡片容器”片段之间滑动。每个卡容器片段负责处理翻转,方法是将FrameLayout的内容替换为前/后卡片段 问题:这很好,但仅适用于API 17+,我需要支持A
中有一组“卡片”。当用户左右滑动时,用户可以通过ViewPager
动画在卡片/页面中滑动PageTransformer
- 用户可以使用卡翻转动画(如中所述)在查看卡的正面和背面之间切换
- 我需要支持API 14+
ViewPager
,可以在“卡片容器”片段之间滑动。每个卡容器片段负责处理翻转,方法是将FrameLayout
的内容替换为前/后卡片段
问题:这很好,但仅适用于API 17+,我需要支持API 14+
方法2:使用v4支持库的嵌套片段
将所有片段、活动等更改为v4替代方案消除了编译器关于需要API 17的警告,但卡翻转动画不再工作,我收到一个错误“java.lang.RuntimeException:未知动画名称:objectAnimator”
我宁愿避免使用支持库类(v13支持中的ViewPager
除外),因为应用程序的其余部分使用本机片段,我宁愿保持一致
方法3:避免嵌套片段,而只是在ViewPager中替换片段
这是我喜欢的方法。有一个顶级的ViewPager
,而FragmentStatePagerAdapter
根据我们是否查看前/后来决定返回哪个片段
按下翻转按钮时,ViewPager中的页面无效,并且FragmentStatePagerAdapter
被迫再次调用getItem()
,为卡的另一侧返回新的片段。我得到了他的一点帮助
这几乎可以工作了,但我不知道如何应用卡片翻转动画,因为ViewPager
使用magic替换片段,并且我无法访问片段事务或容器视图
因此,我的主要问题是,当使用公共片段getItem(int I){…}
替换(而不是滑动)一个ViewPager
页面时,如何应用自定义动画?
提前感谢您的帮助 在适配器中实现PageTransformer不会奏效吗+一个用于详细阐述的问题。