1

我想建立一些活动,它由几个屏幕(片段)组成,每个屏幕有一个GridView。本活动使用支持库中的ViewPager。 这工作得很好。Android的ViewPager替代方案

单击GridView之一中的一个项目时,页面应该自动翻转(翻转)并显示该项目的更多详细信息。

ViewPager和Flip转换都可以很好地处理一个外观问题: 将GridView Fragment翻转到细节视图Fragment时,GridView不是动画。详细翻转片段完美动画并飞入,但应该做飞出过渡的GridView根本不是动画。

我不是Android编程方面的专家,但我想这种行为的根本原因是ViewPager是支持库的一部分,因此不支持此自定义动画事务。

我能说得对吗? 是否有一个易于使用的替代ViewPager也支持自定义动画?

回答

2

如果您在应用中更改Fragments,则应该使用FragemntTransaction而不是ViewPager。有了这个,你可以自定义新的和旧的片段的动画。

例如:

FragmentManager fragmentManager = getSupportFragmentManager(); 
fragmentManager.beginTransaction() 
     .setCustomAnimations(R.anim.slide_in_from_bottom, 
          R.anim.slide_out_to_top, 
          R.anim.slide_in_from_top, 
          R.anim.slide_out_to_bottom) 
     .replace(R.id.MainLayout, newFragment, NewFragment.TAG).commit(); 

但这里是关于一篇文章: flip animation

可以使用NineOldAndroids lib下,其反向移植的ObjectAnimator和ValueAnimator

+0

这听起来像是答案。我还可以用'FragmentTransaction's处理两个片段之间的滑动手势吗? – TomS

+1

使用FragmentTransaction滑动并不是一个简单的选项。 – R4ng3LII