我目前使用以下代码为我的片段添加自定义动画。
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动画师资源。我想知道是否有人知道如何在调用ft.add(R.id.container,new Doze1Fragment())之前以编程方式执行此操作。我知道通常我可以使用以下代码来动画视图,我正在寻找类似的东西
ObjectAnimator oa = ObjectAnimator.ofFloat(R.id.container, "x", 0, 1000f);
oa.setDuration(300);
oa.start();
提前致谢。