Définir le fragment sur plein écran lors de l'utilisation du composant de navigation - Android
J'ai récemment converti mon application en architecture à activité unique et j'ai essayé de définir le fragment particulier en plein écran. Le code plein écran standard pour l'activité ne fonctionne pas pour les fragments
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;
J'ai trouvé cet ensemble Android en plein écran à partir d'un fragment . Mais en le définissant sur FLAG_LAYOUT_NO_LIMITS, le PagerSnapHelper du fragment saute lors du basculement entre FLAG_LAYOUT_NO_LIMITS et de sa révocation.
Ma question est donc la suivante: existe-t-il un autre moyen de définir le fragment en plein écran sans utiliser FLAG_LAYOUT_NO_LIMITS.
Réponses
Vous ne devriez jamais avoir besoin d'utiliser FLAG_LAYOUT_NO_LIMITS
, ni appliquer fitsSystemWindows="true"
globalement à votre couche d'activité - c'est ce qui empêcherait votre fragment de passer en plein écran. Au lieu de cela, ajoutez uniquement fitsSystemWindows
les fragments / composants individuels qui, autrement, chevaucheraient les barres d'état / système. Cela garantirait que votre fragment plein écran serait capable de prendre la taille réelle et de ne pas être inséré à partir des bords.