As restrições de orientação e redimensionamento são ignoradas

Com os apps Android agora sendo executados em vários dispositivos (como smartphones, tablets, dobráveis, computadores, carros e TVs) e modos de janelas em telas grandes (como tela dividida e janelas para computador), os desenvolvedores precisam criar apps Android que se adaptem a qualquer tamanho de tela e janela, independentemente da orientação do dispositivo. Paradigmas como restringir a orientação e o redimensionamento são muito restritivos no mundo multidevice de hoje.

Ignorar restrições de orientação, redimensionamento e proporção

Para apps direcionados ao Android 17 ou versões mais recentes, as restrições de orientação, redimensionamento e proporção não se aplicam mais a telas cuja menor largura seja maior que 600 dp. Os apps preenchem toda a janela de exibição, independente da proporção ou da orientação preferida do usuário, e não usam pillarboxing.

O Android 17 remove a desativação temporária para desenvolvedores das restrições de orientação e redimensionamento em dispositivos de tela grande que foi disponibilizada no Android 16.

Essa mudança introduz um novo comportamento padrão da plataforma. O Android está migrando para um modelo em que os apps precisam se adaptar a várias orientações, tamanhos de tela e proporções. Restrições como orientação fixa ou redimensionamento limitado dificultam a adaptabilidade do app. Deixe seu app adaptável para oferecer a melhor experiência possível aos usuários.

Também é possível testar esse comportamento usando o framework de compatibilidade de apps e ativando a flag de compatibilidade UNIVERSAL_RESIZABLE_BY_DEFAULT.

Mudanças importantes comuns

Ignorar as restrições de orientação, redimensionamento e proporção pode afetar a interface do usuário do app em alguns dispositivos, especialmente elementos projetados para layouts pequenos bloqueados na orientação retrato. Por exemplo, os apps podem ter problemas como layouts esticados e animações e componentes fora da tela. Qualquer pressuposto que você faça sobre proporção ou orientação pode causar problemas visuais no app. Saiba como evitar esses problemas e melhorar o comportamento adaptável do app.

Um problema comum em dispositivos dobráveis no modo paisagem ou para cálculos de proporção em cenários como várias janelas, janelas de computador ou telas conectadas é quando a visualização da câmera aparece esticada, girada ou cortada. Esse problema geralmente acontece em dispositivos de tela grande e dobráveis porque os apps presumem relações fixas entre recursos da câmera (como proporção e orientação do sensor) e recursos do dispositivo (como orientação do dispositivo e orientação natural). Saiba mais sobre como gerenciar a visualização da câmera.

Permitir a rotação do dispositivo resulta em mais recriação de atividades, o que pode resultar na perda do estado do usuário se não for preservado adequadamente. Saiba como salvar corretamente o estado da interface em Salvar estados da interface.

Detalhes da implementação

Os seguintes atributos de manifesto e APIs de tempo de execução são ignorados em dispositivos de tela grande nos modos de tela cheia e várias janelas:

Os seguintes valores para screenOrientation, setRequestedOrientation() e getRequestedOrientation() são ignorados:

  • portrait
  • reversePortrait
  • sensorPortrait
  • userPortrait
  • landscape
  • reverseLandscape
  • sensorLandscape
  • userLandscape

Em relação ao redimensionamento da tela, android:resizeableActivity="false", android:minAspectRatio e android:maxAspectRatio não têm efeito.

Exceções

As restrições de orientação, capacidade de redimensionamento e proporção do Android 17 não se aplicam nas seguintes situações:

  • Jogos (com base na flag android:appCategory)
  • Usuários que ativam explicitamente o comportamento padrão do app nas configurações de proporção do dispositivo
  • Telas com largura mínima menor que sw600dp