Frammenti

Un elemento Fragment rappresenta una parte riutilizzabile dell'interfaccia utente dell'app. Un frammento definisce e gestisce il proprio layout, ha un proprio ciclo di vita e può gestire i propri eventi di input. I frammenti non possono vivere da soli. Devono essere ospitati da un'attività o da un altro frammento. La gerarchia delle visualizzazioni del frammento diventa parte della gerarchia delle visualizzazioni dell'host o si collega a.

Modularità

I frammenti introducono modularità e riutilizzabilità nell'interfaccia utente dell'attività consentendoti di dividerla in blocchi discreti. Le attività sono la posizione ideale per inserire elementi globali nell'interfaccia utente dell'app, ad esempio un riquadro a scomparsa di navigazione. Al contrario, i frammenti sono più adatti a definire e gestire l'interfaccia utente di una singola schermata o parte di una schermata.

Prendi in considerazione un'app che si adatta a schermi di varie dimensioni. Su schermi più grandi, è possibile che l'app mostri un riquadro di navigazione a scomparsa statico e un elenco in un layout a griglia. Sugli schermi più piccoli, invece, potresti voler visualizzare una barra di navigazione in basso e un elenco in layout lineare.

Gestire queste variazioni nell'attività non è facile da gestire. Separare gli elementi di navigazione dai contenuti può rendere più gestibile questa procedura. L'attività è quindi responsabile della visualizzazione dell'UI di navigazione corretta, mentre il frammento mostra l'elenco con il layout appropriato.

Due versioni dello stesso schermo su schermi di dimensioni diverse.
Figura 1. Due versioni dello stesso schermo su schermi di dimensioni diverse. A sinistra, uno schermo di grandi dimensioni contiene un riquadro di navigazione a scomparsa controllato dall'attività e un elenco a griglia controllato dal frammento. A destra, c'è una piccola schermata che contiene una barra di navigazione in basso controllata dall'attività e un elenco lineare controllato dal frammento.

La suddivisione della UI in frammenti semplifica la modifica dell'aspetto dell'attività in fase di runtime. Puoi aggiungere, sostituire o rimuovere frammenti mentre l'attività è nello stato di ciclo di vita STARTED o in un livello superiore. Inoltre, puoi tenere traccia di queste modifiche in uno stack di back stack gestito dall'attività, in modo che le modifiche possano essere annullate.

Puoi utilizzare più istanze della stessa classe di frammenti all'interno della stessa attività, in più attività o anche come figlio di un altro frammento. Tenendo a mente questo, fornisci solo un frammento con la logica necessaria per gestire la propria UI. Evita di dipendere o di manipolare un frammento da un altro.

Passaggi successivi

Per ulteriore documentazione e risorse relative ai frammenti, consulta quanto segue.

Per iniziare

Altri argomenti

Samples

Video