Posicionar o app dentro de encartes de janela

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

Figura 1. A barra de status e a barra de navegação, chamadas coletivamente de barras de sistema.

Projete todos os apps para que o conteúdo se estenda da borda superior até a borda inferior da tela. Esse é o comportamento padrão a partir do Android 15 (nível 35 da API). Isso significa que as áreas de cima e de baixo do app são dispostas atrás da barra de status e da barra de navegação. Juntas, a barra de status e a barra de navegação são chamadas de barras de sistema. As barras de sistema são áreas geralmente dedicadas à exibição de notificações, comunicação do status e navegação do dispositivo.

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

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

  • Por padrão, ative a opção para expandir a janela do app por toda a tela e renderizar o conteúdo do app de ponta a ponta atrás das barras de sistema. Use offsets para evitar mostrar conteúdo importante e áreas de toque atrás das barras de sistema.

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

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

  • Uma transição de teclado é um exemplo comum em que as margens de janela são atualizadas dinamicamente. Os apps podem observar o estado atual do teclado, alternar os estados de maneira programática, oferecer suporte a animações para margens de janela e fazer com que o conteúdo do app seja animado de maneira integrada durante as transições do teclado.