Frammenti multipli nello stesso spazio?
-
28-10-2019 - |
Domanda
Sto sviluppando un'app Android con frammenti che hanno molti flussi possibili. Con semplice Activity
-Il flusso basato, può fluire così:
A -> b -> e
A -> c -> e
A -> d -> e
Con i frammenti, vorrei poter fare la stessa cosa con uno schermo diviso in terzi. La domanda che sto facendo è: nel mio file XML layout, come posso rappresentare uno spazio che può essere riempito con uno dei tre frammenti diversi?
Soluzione
Date un'occhiata al FragmentTransaction.add()
funzione:
public abstract FragmentTransaction add (int containerViewId, ... )
...
containerViewId
- Identificatore opzionale del contenitore Questo frammento deve essere inserito. Se 0, non verrà posizionato in un contenitore.
In altre parole, basta creare qualsiasi vuoto GroupView
Nel layout XML e l'ID passa di questo gruppo in questa funzione quando si aggiunge il frammento. Quindi rimuoverlo quando non lo vuoi più.
Altri suggerimenti
Se non hai bisogno di sostituire i frammenti nella tua attività, puoi mettere la dichiarazione di frammenti direttamente all'interno dell'XML.
<fragment
android:name="com.mypackage.ui.MyFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/myfragment_Fragment">
</fragment>