Establecer Fragmento en pantalla completa mientras usa el componente de navegación - Android

Aug 20 2020

Recientemente, convertí mi aplicación a la arquitectura de actividad única e intenté configurar el fragmento en particular en pantalla completa. El código estándar de pantalla completa para actividad no funciona para fragmentos

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;

Encontré este conjunto de Android en pantalla completa desde el fragmento . Pero configurarlo en FLAG_LAYOUT_NO_LIMITS hace que el PagerSnapHelper en el fragmento salte al cambiar entre FLAG_LAYOUT_NO_LIMITS y revocarlo.

Entonces, mi pregunta es, ¿hay alguna otra forma de configurar el fragmento a pantalla completa sin usar FLAG_LAYOUT_NO_LIMITS?

Respuestas

3 ianhanniballake Aug 21 2020 at 04:55

No debería necesitar usarlo FLAG_LAYOUT_NO_LIMITSni aplicarlo fitsSystemWindows="true"globalmente en su capa de actividad; eso es lo que evitaría que su fragmento se muestre en pantalla completa. En su lugar, solo agregue fitsSystemWindowslos fragmentos / componentes individuales que de otro modo se superpondrían a las barras de estado / sistema. Esto aseguraría que su fragmento de pantalla completa podría ocupar el tamaño completo y no insertarse desde los bordes.