Imposta Fragment su FullScreen durante l'utilizzo del componente di navigazione - Android
Recentemente ho convertito la mia app in architettura Single Activity e ho provato a impostare un particolare frammento a schermo intero. Il codice a schermo intero standard per l'attività non funziona per i frammenti
final int flags =
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
Ho trovato questo set Android a schermo intero da frammento . Ma impostarlo su FLAG_LAYOUT_NO_LIMITS fa sì che il PagerSnapHelper nel frammento salti quando si passa da FLAG_LAYOUT_NO_LIMITS e lo si revoca.
Quindi la mia domanda è: esiste un altro modo per impostare il frammento a schermo intero senza utilizzare FLAG_LAYOUT_NO_LIMITS.
Risposte
Non dovresti mai aver bisogno di usare FLAG_LAYOUT_NO_LIMITS
, né dovresti applicare fitsSystemWindows="true"
globalmente al tuo livello di attività: questo è ciò che impedirebbe al tuo frammento di andare a schermo intero. Invece, aggiungi solo fitsSystemWindows
i frammenti / singoli componenti che altrimenti si sovrapporrebbero alle barre di stato / sistema. Ciò garantirebbe che il frammento a schermo intero sia in grado di occupare l'intera dimensione e non essere inserito dai bordi.