Znikanie fragmentu, a animacja

0

Cześć. Mam fragment, który wyświetla się po naciśnięciu przycisku i robi to z pewną animacją "wejścia" na ekran. Podobną, lecz odwrotną animację chciałbym uzyskać kiedy fragment zostaje wyłączony, jednak ku mojemu zdziwieniu, animacja działa tylko jak fragment pojawia się na ekranie, kiedy z niego znika, robi to natychmiast bez żadnej animacji.

    private void createFragment(){
        fragment = new FragmentMainControlPanelMenu();
        fragmentManager = getSupportFragmentManager();
        fragmentManager.beginTransaction()
                .setCustomAnimations(R.anim.fragment_enter_from_left_to_right, R.anim.fragment_exit_from_right_to_left
                    ,R.anim.fragment_enter_from_left_to_right, R.anim.fragment_exit_from_right_to_left)
                .replace(R.id.mainControlPanelFragmentContainer, fragment)
                .addToBackStack(null)
                .commit();
        isFragmentMenuShowed = true;
        mainControlPanelMainRelativeLayout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(isFragmentMenuShowed){
                    fragmentManager.beginTransaction()
//                            .hide(fragment).commit();
                          .remove(fragment).commit();
//                    onBackPressed();
                    Log.d(TAG, "onClick: trying to hide fragment");
                    isFragmentMenuShowed = false;
                }
            }
        });
    }

Jak widzicie próbowałem na wiele sposobów, jednak żaden z nich nie działa :P

fragment_enter_from_left_to_right_xml

<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:fromXDelta="-100%" android:toXDelta="0%"
        android:fromYDelta="0%" android:toYDelta="0%"
        android:duration="120"/>
</set>

fragment_exit_from_right_to_left.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:fromXDelta="0%" android:toXDelta="-100%"
        android:fromYDelta="0%" android:toYDelta="0%"
        android:duration="120"/>
</set>

Czy ktoś może wie, w czym może być błąd ?

1

Robisz fragmentManager.beginTransaction().remove(), więc stary widok nie ma na czym się animować nawet, bo jest od razu usuwany. Powinieneś zrobić popBackStack(), żeby to się zaanimowało. Chyba. Na 100% nie wiem, bo już dawno nie korzystałem z FragmentManagera.

0

Spróbowałem, niestety to nie to :/ Nadal znika natychmiastowo bez żadnej animacji.

Niemniej jednak dzięki za próbę :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1