Posicionar o app dentro de encartes de janela

Teste o Compose
O Jetpack Compose é o kit de ferramentas de interface recomendado para Android. Aprenda a trabalhar com WindowInsets no Compose.

Figura 1. As barras de status e de navegação, coletivamente chamadas de barras do sistema.

Por padrão, os apps são dispostos abaixo da barra de status na parte de cima e acima da barra de navegação na parte de baixo. Juntas, as barras de status e de navegação são chamadas de barras de sistema. As barras do sistema são áreas geralmente dedicadas à exibição de notificações, à comunicação do status do dispositivo e à navegação do dispositivo. No entanto, você pode configurar seu app para mostrar conteúdo nessas áreas.

As sobreposições entre o app e as áreas em que a interface do sistema é mostrada são um exemplo de encartes de janela, que representam as partes da tela em que o app pode cruzar com a interface do sistema. Interceptar essas partes da interface pode significar a exibição acima do conteúdo, mas também pode informar o app sobre gestos do sistema.

Os seguintes tipos de encartes de janela estão disponíveis.

  • Os apps podem expandir a janela para se estender por toda a tela e mostrar o conteúdo de borda a borda por trás das barras do sistema.

  • Apps que mostram conteúdo como filmes ou imagens podem ocultar as barras do sistema temporariamente para uma experiência mais imersiva. Considere cuidadosamente as necessidades e expectativas dos usuários antes de modificar as barras do sistema, já que elas oferecem aos usuários uma maneira padrão de navegar em um dispositivo e visualizar o status dele.

  • Um corte da tela é uma área em alguns dispositivos que se estende até a superfície da tela para fornecer espaço aos sensores na parte frontal do dispositivo. Os apps podem oferecer suporte a cortes de tela consultando as posições para que nenhum conteúdo importante se sobreponha à área de corte.

  • Uma transição de teclado é um exemplo comum em que os encartes de janela são atualizados dinamicamente. Os apps podem observar o estado atual do teclado, alternar os estados programaticamente, oferecer suporte a animações para encartes de janela e fazer com que o conteúdo do app seja animado sem interrupções entre as transições do teclado.