片段事务中2个视图的动画

时间:2015-07-19 06:20:53

标签: android android-fragments android-animation

getFragmentManager().beginTransaction().setCustomAnimations(
  R.animator.1, R.animator.2,R.animator.3, R.animator.4)
  .replace(view1, view2)
  .addToBackStack(null)
  .commit();

这仅在 view2 上执行动画。我也希望同时使用 view1 执行某些操作。我怎样才能做到这一点?这些视图是带有动态生成ID的FrameLayouts

2 个答案:

答案 0 :(得分:2)

参考Android开发人员: FragmentTransaction setCustomAnimations(int enter, int exit, int popEnter, int popExit)

如果我清楚地了解您的需要,为1视图使用动画,您必须为退出参数提供动画

答案 1 :(得分:0)

我自己解决了这个问题。在设置动画之前,管理器正在堆叠我的事务,因此它在没有动画的情况下堆叠事务(悲伤但是真实),即使我在setCustom()方法之后提交事务也会发生这种情况。

解决方案是首先设置动画:

FragmentTransaction transaction = manager.beginTransaction();       
transaction.setCustomAnimations(view1,view2);
transaction.replace(R.id.content, myFragment);
transaction.commit();