支持库:FragmentTransaction动画不起作用

Adi*_*ain 11 android android-maps android-animation android-fragments

我正在使用Peter Doyle的android-support-v4-googlemaps支持库来实现同时使用Fragments和Google Maps的Activity,并且似乎无法使FragmentTransaction动画生效.我尝试过使用该setCustomAnimations(int enter, int exit)方法以及setTransition(int transit)方法,但无济于事.任何人都可以让动画工作,或者也有动画制作工作的问题?

我试过的一些动画:

setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE)

setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out)

setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right)
Run Code Online (Sandbox Code Playgroud)

VSB*_*VSB 13

你应该调用FragmentTransaction. 首先设置setCustomAnimations,然后调用 FragmentTransaction.替换这样的方法:

        FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
        ft.setCustomAnimations(R.anim.fade_out,R.anim.fade_in);
        ft.replace(R.id.fragmentDetails, detailsFrag);
Run Code Online (Sandbox Code Playgroud)


And*_*hon 1

您是否尝试过FragmentTransaction.remove()然后FragmentTransaction.add()而不是FragmentTransaction.replace()?我在其他线程中看到抱怨replace()未按预期工作。

我还没有使用android-support-v4-googlemaps库,但我可以确认下面的代码适用于android-support-v4.jar

FragmentTransaction tx = getSupportFragmentManager().beginTransaction();
tx.setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
tx.replace(R.id.fragment_container, new Fragment2());
tx.addToBackStack(null);
tx.commit();
Run Code Online (Sandbox Code Playgroud)