Frammenti

Un Fragment rappresenta una porzione utilizzabile dell’interfaccia utente della tua app. Un frammento definisce e gestisce il proprio layout, ha il 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 della vista del frammento diventa parte o si attacca alla gerarchia della vista dell’host.

Modularità

I frammenti introducono modularità e riusabilità nell’interfaccia utente della tua attività permettendoti di dividere l’interfaccia in pezzi discreti. Le attività sono un posto ideale per mettere elementi globali intorno all’interfaccia utente della tua app, come un cassetto di navigazione. Al contrario, i frammenti sono più adatti a definire e gestire l’interfaccia utente di una singola schermata o porzione di essa.

Considera un’app che risponda a varie dimensioni dello schermo. Su schermi più grandi, l’app dovrebbe mostrare un cassetto di navigazione statico e una lista in un layout a griglia. Su schermi più piccoli, l’app dovrebbe visualizzare una barra di navigazione inferiore e un elenco in un layout lineare. Gestire tutte queste variazioni nell’attività può essere complicato. Separare gli elementi di navigazione dal contenuto può rendere questo processo più gestibile. L’attività è quindi responsabile della visualizzazione della corretta UI di navigazione mentre il frammento visualizza l’elenco con il corretto layout.

Figura 1. Due versioni della stessa schermata su schermi di dimensioni diverse. A sinistra, uno schermo grande contiene un cassetto di navigazione controllato dall’attività e un elenco a griglia controllato dal frammento. A destra, uno schermo piccolo contiene una barra di navigazione inferiore controllata dall’attività e un elenco lineare controllato dal frammento.

Dividere la vostra UI in frammenti rende più facile modificare l’aspetto della vostra attività in fase di esecuzione. Mentre la vostra attività è nello stato STARTEDlifecycle o superiore, i frammenti possono essere aggiunti, sostituiti o rimossi. È possibile tenere un registro di questi cambiamenti in un back stack che è gestito dall’attività, permettendo ai cambiamenti di essere invertiti.

È possibile utilizzare più istanze della stessa classe di frammento all’interno della stessa attività, in più attività, o anche come figlio di un altro frammento. Con questo in mente, dovreste fornire ad un frammento solo la logica necessaria per gestire la propria UI. Si dovrebbe evitare di dipendere o manipolare un frammento da un altro.

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

Iniziare

  • Creare un frammento

Altri argomenti

  • Gestore dei frammenti
  • Transazioni di frammenti
  • Transizioni animate tra frammenti
  • Ciclo di vita dei frammenti
  • Salvare stato con i frammenti
  • Comunicare tra frammenti e attività
  • Lavorare con la barra delle applicazioni
  • Visualizzare le finestre di dialogo con DialogFragment
  • Testare i propri frammenti

Video

  • Singola attività: Perché, quando e come (Android Dev Summit ’18)
  • Frammenti: Passato, presente e futuro (Android Dev Summit ’19)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *