Hirdetés

Új hozzászólás Aktív témák

  • thon73

    tag

    Hát, úgy látszik, mindig csak én akadok el... Vérszemet kaptam a stílusokon, és - gondoltam - a fragmentekbe is beteszek egy kis animációt.
    Egymás mellett van két fragment: egy listFrag (list_frame frame layoutban) és egy editFrag (edit_frame-ban). Ez a layout, ami programból kapja meg a fragmenteket:

    <LinearLayout
    android:id="@+id/landscape"
    android:orientation="horizontal" ...>
    <FrameLayout
    android:id="@+id/list_frame"
    android:layout_weight="2" .../>
    <FrameLayout
    android:id="@+id/edit_frame"
    android:layout_weight="3" .../>

    editFrag itt animálva belép (csak lényegi rész!):

    fragmentTransaction.setCustomAnimations(android.R.anim.slide_in_left , android.R.anim.slide_out_right, android.R.anim.slide_in_left, android.R.anim.slide_out_right);
    fragmentTransaction.add(R.id.edit_frame, editFrag, "EDIT");
    fragmentTransaction.addToBackStack("LIBDB");

    és itt animálva eltűnik:

    fragmentManager.popBackStackImmediate();

    A gond az, hogy edit_FRAME akkor is "tartja a helyét", ha editFRAG eltűnik, emiatt a listFRAG (és Frame) nem szélesedik ki a teljes képszélességre.
    Ezért hozzátettem még egy sort:

    findViewById(R.id.edit_frame).setVisibility(View.GONE);

    Volilá! A ListFrag most a teljes képszélességet elfoglalja! (Persze, editFrag létrehozásakor a Frame-t is visszakapcsolom.)
    Csakhogy, ezzel eltűnt az animáció, mert a setVisibility előbb végrehajtásra került.

    Meg lehet szerintetek ezt valahogy együtt oldani? Tehát: editFrag animálva elosonjon, és a listFrag EZT KÖVETŐEN (vagy ezzel együtt) kitöltse a teljes helyet??
    Előre is köszönöm!

Új hozzászólás Aktív témák