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, coletivamente chamadas 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 ficam atrás da barra de status e da barra de navegação. Juntas, as barras de status e 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 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. Interseção com essas partes da interface pode significar a exibição acima do conteúdo, mas também pode informar seu app sobre gestos do sistema.

Os seguintes tipos de encarte 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 mostre o conteúdo do app de borda a borda atrás das barras de sistema. Use deslocamentos para evitar a exibição de conteúdo importante e áreas de toque atrás das barras de sistema.

  • Apps que exibem conteúdo, como 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 do sistema, já que elas oferecem uma maneira padrão de navegar em um dispositivo e conferir 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. Os apps podem oferecer suporte a cortes da tela consultando as posições deles 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 de forma programática, oferecer suporte a animações para encartes de janela e fazer com que o conteúdo do app seja animado sem problemas entre as transições do teclado.