Bentornati.
In questo video, creeremo un'applicazione per capire i frammenti in Android Aprite Android studio, selezionate
nuovo progetto, selezionate l'attività Viste vuote e la chiamerò applicazione Frammento.
E creare un frammento è come creare un'attività.
Selezionare un nuovo frammento di selezione non attivo.
E ci sono diversi tipi di frammenti.
Selezionerò lo spazio vuoto e anche nella galleria, se si seleziona la galleria, si possono vedere questi
tipi.
Mi interessa il frammento vuoto.
Poi, il nome del frammento, lo nomino come primo frammento, il nome del layout del frammento, il nome del frammento con il trattino basso.
Questo è per il file di layout e il linguaggio sorgente è Java per ora.
Più avanti in questo corso, utilizzerò la finitura Kotlin.
Ed eccoci qui.
Non abbiate paura di questo codice, li cancellerò tutti per poterlo illustrare in dettaglio nei prossimi
minuti.
Un frammento come un'attività ha un file di layout XML e una classe Java che rappresenta il controllore del frammento.
È simile all'attività.
Progetterò il layout di questo frammento underscore.
Per prima cosa vado in modalità divisa e creo il colore di sfondo per questo layout.
Modifico gli attributi di visualizzazione del testo, lo faccio diventare di dimensione 48 e il testo qui lo cambio in primo luogo.
Inoltre, è possibile definire altre viste come il pulsante.
Trascinare e rilasciare qui.
Ma non abbiamo a che fare con i constraintlayout.
Abbiamo a che fare con la disposizione delle cornici.
Il layout a cornice è progettato per bloccare un'area dello schermo per visualizzare un singolo elemento.
È come una cornice che può contenere e visualizzare una cosa sopra un'altra, consentendo alle viste figlio
di sovrapporsi l'una all'altra.
Le viste figlio sono impilate nell'ordine in cui sono state aggiunte nel layout della cornice, con l'ultimo figlio aggiunto
che appare in cima.
Si può vedere che ho aggiunto il pulsante ed è sovrapposto e sopra la visualizzazione del testo.
La soluzione per evitare la sovrapposizione è aggiungere dei margini.
E qui aggiungerò il margine superiore a 100 DPI.
Si può notare che questo è il nostro primo frammento e questo è il nostro bot.
Andiamo al primo frammento della classe Java e vediamo che estende il frammento.
Quando si vuole creare un frammento personalizzato, di solito si eredita dalla classe fragment per definire i
frammenti, il comportamento e l'aspetto.
Quindi, estendendo la classe Fragment, si ereditano le funzionalità di base e la gestione del ciclo di vita fornite dalla
classe Fragment, che include una serie di metodi del ciclo di vita che si possono sovrascrivere nel frammento
personalizzato per controllare ciò che accade nelle diverse fasi dell'esistenza del frammento.
Abbiamo parlato di questi metodi di callback nella lezione precedente.
È possibile sovrascrivere su attach, su start e su altri metodi.
Il metodo più importante che viene utilizzato e sovrascritto nei frammenti si chiama Oncreate.
I frammenti di vista possono definire le proprie interfacce utente utilizzando file di layout, XML o creando programmaticamente elementi dell'interfaccia
utente.
Ma preferisco definire gli elementi dell'interfaccia utente usando il layout.
Il metodo Oncreate della vista viene spesso sovrascritto per gonfiare il layout dei frammenti o costruire i componenti dell'interfaccia utente in modo
programmatico.
Quando un frammento viene collegato per la prima volta a un'attività o deve visualizzare la sua interfaccia utente, Android chiama il metodo
Oncreate view.
Se osserviamo la firma del metodo, notiamo che ci sono tre parametri, uno dei quali di tipo inflator.
Il secondo è di tipo gruppo di visualizzazione e il terzo è di tipo bundle.
Il primo è il gonfiatore.
È un'istanza di layout inflator che può essere usata per gonfiare un layout da una risorsa XML.
Il contenitore è la vista padre a cui l'interfaccia utente dei frammenti deve essere collegata.
Questo parametro è utile quando si vuole determinare il genitore del layout, ma non si deve collegare esplicitamente l'interfaccia
utente a questo contenitore.
Invece, per gestire l'istanza salvata di questo lavoro, si deve usare il metodo inflate.
State un bundle che fornisce informazioni sullo stato precedente del frammento, utile per ripristinare
lo stato del frammento.
Poiché il nostro frammento contiene una vista di testo e un pulsante, è necessario definirli qui nel metodo Create
View.
Potete sbarazzarvi di questi metodi e in seguito aggiungerò gli altri, ma voglio che vi concentriate
con me sulla vista Oncreate.
È simile al metodo Oncreate.
Qui si definiscono gli elementi dell'interfaccia utente.
Inizierò con l'istanza di vista uguale a inflator dot inflate AR dot layout dot fragment.
Per prima cosa devo gonfiare.
Voglio visualizzare il layout.
Il secondo parametro è il contenitore e l'ultimo parametro è false.
Abbiamo parlato del gonfiatore di layout e di come gonfiare i layout nelle applicazioni precedenti e nella sezione precedente.
Ma come panoramica, questa linea è un modello comune usato in Android per gonfiare un file di risorse di layout
XML in un oggetto vista.
Analizziamo ogni parte di questa linea per capire cosa fa l'infusore.
Si tratta di un'istanza della classe layout inflator.
È un servizio di sistema fornito da Android che consente di prendere un file di risorse di layout XML e di convertirlo in un oggetto
di visualizzazione corrispondente in memoria Il metodo Inflate è un metodo fornito dalla classe layout inflator e viene
utilizzato per creare un oggetto di visualizzazione da una risorsa di layout XML o da un frammento di punto di layout.
Primo.
È un riferimento al file di risorse di layout XML che si desidera gonfiare.
Il contenitore è il parametro che rappresenta il gruppo di viste padre.
Di solito un layout di cornice che sarà un genitore del layout gonfiato.
Specifica la posizione del layout gonfiato nella gerarchia.
L'interfaccia utente dei frammenti sarà aggiunta a questo contenitore.
Falso.
Questo è il parametro finale.
Indica se il layout gonfiato deve essere collegato immediatamente al contenitore.
Quando?
Se si imposta false, significa che si aggiungerà manualmente il layout gonfiato al contenitore, in genere restituendolo
dal metodo di visualizzazione Oncreate.
Ora otterrò il riferimento per i miei widget che ho definito qui.
Un pulsante e un pulsante di visualizzazione del testo.
Il primo pulsante equivale a view dot find view by id.
Sto usando questo riferimento.
Ecco quali sono. pulsante id punto un fotogramma.
Inoltre, devo aggiungere un ID per questa vista di testo, trascinandone uno.
E come le ho detto, la farò semplice.
Quindi inizierò con il primo pulsante, punto impostato su ascoltatore di clic, nuova vista su ascoltatore di clic.
E qui visualizzerò un messaggio di benvenuto al primo frammento.
E non perdete l'occasione di restituire la vista perché abbiamo saltato l'istruzione return.
Vista di ritorno.
Ecco come creare il nostro primo frammento e come utilizzare il metodo più importante, ovvero la
vista Oncreate.