【发布时间】:2012-10-01 09:26:50
【问题描述】:
在片段中使用 addToBackStack() 时如何设置动画?
我的旧片段需要保持不变,新片段应该与动画重叠旧片段并将其显示给用户。
我尝试了 setCustomAnimation()。但我不能。
谁能帮帮我?
【问题讨论】:
在片段中使用 addToBackStack() 时如何设置动画?
我的旧片段需要保持不变,新片段应该与动画重叠旧片段并将其显示给用户。
我尝试了 setCustomAnimation()。但我不能。
谁能帮帮我?
【问题讨论】:
当您要添加片段时,您可以使用 FragmentTransaction 类来设置动画。
所以像这样......
FragmentManager fm = activity.getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
MyFragment fragment = new MyFragment();
ft.add(android.R.id.content,fragment ,TAG);
ft.setTransition(FragmentTransaction.TRANSIT_ENTER_MASK);
ft.addToBackStack(null);
ft.commit();
这应该将您当前的片段放在其他任何内容之上,而不会删除任何内容。 “setTransition”动画将为片段入口设置动画,但我会尝试使用“setCustomAnimations”来完全控制片段的动画方式。
【讨论】:
setTransition 不接受 TRANSIT_ENTER_MASK 的值。来自文档:Select a standard transition animation for this transaction. May be one of TRANSIT_NONE, TRANSIT_FRAGMENT_OPEN, TRANSIT_FRAGMENT_CLOSE, or TRANSIT_FRAGMENT_FADE. `