Posicionar o app dentro de encartes de janela

Testar o Compose
O Jetpack Compose é o kit de ferramentas de interface 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 do sistema.

Faça o layout de todos os apps para que o conteúdo se estenda da borda de cima até a borda de baixo 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 do sistema. As barras de sistema são áreas geralmente dedicadas à exibição de notificações, à comunicação do status do dispositivo 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 encartes de janela, que representam as partes da tela em que o app pode cruzar com a interface do sistema. A interseção com 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 engastes de janela estão disponíveis.

  • Por padrão, ative a expansão da janela do app para que ela se estenda por toda a tela e renderize o conteúdo do app de borda a borda atrás das barras do sistema. Use deslocamentos para evitar a exibição de conteúdo importante e de elementos de toque atrás das barras do sistema.

  • Os apps que exibem conteúdo, como filmes ou imagens, podem ocultar temporariamente as barras do sistema para uma experiência mais imersiva. Considere cuidadosamente as necessidades e expectativas dos seus usuários antes de modificar as barras do 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 se estende até a superfície da tela para fornecer espaço para 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 engastes de janela são atualizados dinamicamente. Os apps podem observar o estado atual do teclado, alternar os estados de forma programática, oferecer suporte a animações para recortes de janela e fazer com que o conteúdo do app seja animado perfeitamente entre as transições do teclado.