In questo video definiremo il Navhost e passeremo il controllore nav.
Il Navhost è un componente fondamentale di un componente di navigazione composto da jetpack.
Funge da contenitore per ospitare il grafico di navigazione all'interno dell'interfaccia utente dell'applicazione.
Il controller nav è un'istanza del controller host
nav che gestisce la navigazione all'interno dell'host nav.
Per definire un host nav, si parte da Nav Host e si usa quello componibile.
E qui dobbiamo passare il controllore Nav.
E il controllore Nav in questo modo è il nostro controllore Nav che viene passato come parametro.
E il grafico viene utilizzato per la versione XML.
Ma poiché stiamo lavorando con compose, dobbiamo utilizzare un host nav diverso.
Quindi, Alt più enter oppure si può rimuovere l'host nav da qui e importarne un altro.
Importare e utilizzare questo componibile.
Dobbiamo utilizzare la destinazione iniziale, la destinazione iniziale.
Inizio con nav route, dot home, dot path, o semplicemente,
se si preferisce non usare la classe nav route sealed.
È possibile utilizzare la casa.
Ora, all'interno dell'ambito di questo host nav, abbiamo Nav Graph Builder e qui dobbiamo chiamare le funzioni
che abbiamo creato per aggiungere la schermata iniziale, la schermata di fornitura e la schermata delle impostazioni.
La prima è la schermata iniziale Add.
Dobbiamo passare due parametri al controllore nav host e al costruttore nav Graph.
Per questo è necessario passare il controllore nav e questo, che si
riferisce all'ambito di questa funzione, che è un costruttore di grafici nav.
Ok, quindi l'host nav.
All'interno di questa funzione abbiamo un costruttore di grafici navali ed è uno scoop.
E passiamo questo passaggio alla schermata Add home per creare
i percorsi di navigazione e le rotte di navigazione.
Verifichiamo la nostra applicazione tornando all'attività principale e chiamando il grafico di navigazione.
Ma qui definirò un nuovo controllore di navigazione.
Ricordare la funzione del controller navale.
Ricordiamo che la funzione nav controller è un'utilità fornita dal componente di navigazione jetpack composes.
Viene utilizzato per creare e mantenere un'istanza del controllore nav, che gestisce la navigazione all'interno dell'applicazione.
Ricordiamo che la funzione nav controller crea un'istanza di nav controller
che può essere utilizzata per navigare tra le destinazioni all'interno dell'applicazione.
Inoltre, garantisce che l'istanza venga mantenuta in tutte le nostre composizioni, il che significa che
la stessa istanza viene utilizzata per tutto il ciclo di vita del Composables Val Navcontroller.
Questo crea un riferimento mutabile per l'istanza di Navcontroller restituita dalla funzione remember
Navcontroller, che può essere utilizzata per eseguire azioni di navigazione all'interno dei Composable.
Qui chiamerò nav graph, che è la classe o il file all'interno del nav graph di Android Navigation.
Il composito all'interno del dominio dell'app di navigazione.
Quindi userò questo.
Specificare il Navcontroller passando il Navcontroller creato in precedenza.
Ora eseguiamo la nostra applicazione ed eccola qui.
Questa è la nostra applicazione: nella schermata iniziale abbiamo il profilo e le impostazioni.
Ora apportiamo alcune modifiche all'interfaccia utente per renderla più leggibile.
Qui definirò una nuova schermata iniziale di testo con dimensione del carattere 40 SP.
Inoltre, aggiungerò alcuni padding.
Di nuovo una corsa a cento dpi.
Ed eccoci qui.
Questa è la nostra schermata iniziale.
Ora testiamo la navigazione.
Se si fa clic su questi pulsanti si verifica un errore.
Se andiamo nel logcat possiamo vedere questa eccezione.
Possiamo vedere che la destinazione di navigazione corrisponde alla richiesta.
Le destinazioni profonde del Nav e il profilo della destinazione di navigazione non sono figli diretti di
questo grafo nav, perché non abbiamo aggiunto la destinazione di navigazione al grafo nav perché abbiamo specificato
solo una destinazione, che è la destinazione di navigazione home, non abbiamo aggiunto il profilo e
la navigazione delle impostazioni usando la funzione composable qui all'interno del costruttore nav e dell'host nav.
Ok, nel prossimo video definiremo queste destinazioni