片段转换不起作用?

时间:2014-03-27 05:42:24

标签: android android-fragments android-animation

我需要在像side_in_left或者slide_out_right这样的片段替换时创建效果。

我用过:

getSupportFragmentManager().beginTransaction().setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right);

OR

尝试此解决方案 Link

但两者都无效


这是我用于替换片段的代码:

FragmentFirst dragabbleFragment = new FragmentFirst();
getSupportFragmentManager().beginTransaction().setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
getSupportFragmentManager().beginTransaction().replace(R.id.container, dragabbleFragment).commit();

1 个答案:

答案 0 :(得分:0)

getSupportFragmentManager().beginTransaction().setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
getSupportFragmentManager().beginTransaction().replace(R.id.container, dragabbleFragment).commit();

我可能错了,但可能是因为您正在调用beginTransaction()两次,而您正在将动画应用于第一个FragmentTransaction,但在第二个时调用replace(...)

...试

FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
ft.replace(R.id.container, dragabbleFragment).commit();

编辑:试试......

getSupportFragmentManager().beginTransaction().setCustomAnimations(...).replace(...).commit();

显然用你需要的位替换...部分 - 我把它们留下来以保持示例简短。

相关问题