Android 使用objectAnimator以编程方式将自定义动画添加到片段

Android 使用objectAnimator以编程方式将自定义动画添加到片段,android,animation,android-fragments,Android,Animation,Android Fragments,目前,我使用以下代码将自定义动画添加到片段中 FragmentTransaction ft = getFragmentManager().beginTransaction(); ft.setCustomAnimations(R.animator.slide_in, R.animator.slide_in, R.animator.slide_out, R.animator.slide_out ); ft.add(R.id.container, new Doze1Fragment()); ft.ad

目前,我使用以下代码将自定义动画添加到片段中

FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.setCustomAnimations(R.animator.slide_in, R.animator.slide_in, R.animator.slide_out, R.animator.slide_out );
ft.add(R.id.container, new Doze1Fragment());
ft.addToBackStack(null);
ft.commit();
现在,我在3到5秒的时间内,在每个片段的顶部添加一些不同的片段,然后将它们全部从后堆栈中弹出,以从所有片段中获得“扇形”动画。为此,我要么在每次popBackStack()调用之间添加一个延迟(我认为这是一个糟糕的解决方案),要么为每个片段创建一个自定义XML animator资源。我想知道在调用ft.add(R.id.container,new Doze1Fragment())之前,是否有人知道如何通过编程实现这一点。我知道通常我可以使用下面的代码来设置视图的动画,我正在寻找类似的东西

ObjectAnimator oa = ObjectAnimator.ofFloat(R.id.container, "x", 0, 1000f);
oa.setDuration(300);
oa.start();

提前感谢。

您希望将所有片段堆叠起来,然后一起弹出。这就是你的意思吗?是的。每个片段从屏幕的侧面进入,并添加到上一个片段的顶部。然后我更愿意把它们放在一起,希望它们都有一个自定义的动画,具有稍微不同的“持续时间”,这样在它们退出屏幕时会得到“扇动效果”。