Temos o prazer de anunciar que a Jetpack WindowManager 1.5.0 agora está estável.
Esta versão se baseia na forte base de adaptabilidade do WindowManager, facilitando ainda mais a criação de IUs adaptáveis e refinadas que ficam ótimas em todos os tamanhos de tela. À medida que o ecossistema Android continua crescendo, os usuários interagem com apps em uma variedade maior de dispositivos do que nunca: de smartphones e dobráveis a tablets, telas conectadas, Chromebooks e até telas de carro no modo estacionado.
O WindowManager 1.5 se concentra em oferecer ferramentas melhores para esse ambiente de dispositivos diversificado.
Novidades da WindowManager 1.5
Esta versão estável apresenta novos pontos de interrupção para telas muito grandes, aprimora a API de incorporação de atividades e oferece mais flexibilidade para calcular métricas de janela.
Novas classes de tamanho de janela: grande e extragrande
A maior atualização na versão 1.5 é a adição de duas novas classes de tamanho de janela de largura: grande e extragrande.
As classes de tamanho de janela são nosso conjunto oficial e específico de pontos de interrupção de janela de visualização que ajudam você a projetar e desenvolver layouts adaptáveis. Com a versão 1.5, estamos estendendo essa orientação para telas que vão além dos tablets típicos.
Confira os novos pontos de interrupção de largura:
- Grande:para larguras entre 1200 dp e 1600 dp
- Extragrande:para larguras ≥1600 dp
As diferentes classes de tamanho de janela com base na largura da tela.
Por que elas são importantes?
A partir do Android 16 QPR1 Beta 2, o Android oferece suporte a telas conectadas, permitindo que os usuários conectem uma tela externa ao dispositivo e o transformem em uma ferramenta semelhante a um computador com uma tela grande.
Smartphone conectado a uma tela externa, com uma sessão de computador na tela externa.
Com esse novo recurso disponível, é fundamental ter orientações sobre como incluir telas maiores.
Nessas superfícies muito grandes, simplesmente aumentar a escala de um layout expandido de tablet nem sempre é a melhor experiência do usuário. Por exemplo, um cliente de e-mail pode mostrar dois painéis (uma caixa de e-mail e uma mensagem) na classe de tamanho de janela "Expandida". Mas em um monitor de mesa extra grande, o cliente de e-mail pode exibir três ou até quatro painéis de forma elegante. Por exemplo, uma caixa de entrada, uma lista de mensagens, o conteúdo completo da mensagem e um painel de agenda/tarefas, tudo de uma vez.
Ao fornecer pontos de interrupção oficiais para tamanhos de exibição muito grandes, o WindowManager 1.5 oferece um sinal claro para introduzir layouts projetados especificamente para uma experiência de computador produtiva e com muitas informações.
As classes de tamanho de janela podem ser calculadas usando computeWindowSizeClass(), que é uma função de extensão da biblioteca androidx.window.core.layout que estende o tipo Set<WindowSizeClass>.
Para incluir as novas classes de tamanho de janela no seu projeto, basta chamar a função do conjunto WindowSizeClass.BREAKPOINTS_V2 em vez de WindowSizeClass.BREAKPOINTS_V1:
val currentWindowMetrics = WindowMetricsCalculator.getOrCreate() .computeCurrentWindowMetrics(LocalContext.current) val sizeClass = WindowSizeClass.BREAKPOINTS_V2 .computeWindowSizeClass(currentWindowMetrics)
Em seguida, aplique o layout correto quando tiver certeza de que o app tem pelo menos esse espaço:
if(sizeClass.isWidthAtLeastBreakpoint(
WindowSizeClass.WIDTH_DP_LARGE_LOWER_BOUND)){
...
// window is at least 1200 dp wide
}Bibliotecas adaptáveis
A biblioteca adaptável do Compose Material 3 ajuda a criar interfaces adaptáveis que se ajustam automaticamente de acordo com as configurações atuais da janela, como classes de tamanho da janela ou posturas do dispositivo.
A boa notícia é que a biblioteca já está atualizada com os novos pontos de interrupção. A partir da versão 1.2 (agora na fase Release Candidate), as funções de diretiva de estrutura de painel padrão são compatíveis com classes de tamanho de largura de janela grande e extra grande.
Basta declarar no arquivo de build do Gradle que você quer usar os novos pontos de interrupção:
currentWindowAdaptiveInfo( supportLargeAndXLargeWidth = true)
Outras melhorias
- Incorporação de atividades: salvamento e restauração automáticos: agora o WindowManager pode salvar e restaurar automaticamente o estado das divisões de incorporação de atividades. Isso ajuda a preservar o layout do usuário durante a recriação do processo, resultando em uma experiência mais estável e consistente. Os desenvolvedores não precisam mais salvar e restaurar o estado manualmente. Basta ativar a opção automática definindo a propriedade EmbeddingConfiguration#isAutoSaveEmbeddingState.
- WindowMetrics expandidas: agora é possível calcular WindowMetrics de um contexto de aplicativo, não apenas de atividade. Isso oferece mais flexibilidade para acessar informações da janela de diferentes partes do app.
Como começar
Para começar a usar as novas classes de tamanho grande e extragrande e outros recursos da versão 1.5 nos seus projetos Android, atualize as dependências do app em build.gradle.kts para a versão estável mais recente:
dependencies {
implementation("androidx.window:window:1.5.0")
// or, if you're using the WindowManager testing library:
testImplementation("androidx.window:window-testing:1.5.0")
}O WindowManager 1.5 é mais um passo para a criação de apps totalmente adaptáveis que funcionam em todos os formatos do Android. Confira as notas da versão oficiais para uma lista completa de mudanças e correções de bugs.
Divirta-se com os códigos!
Continuar lendo
-
Notícias sobre produtos
Temos uma ótima novidade: o suporte a telas conectadas chegou à disponibilidade geral com o lançamento do Android 16 QPR3. Esse é um marco importante para aproximar a computação móvel e de computadores no Android.
Francesco Romano • Leitura de 7 minutos
-
Notícias sobre produtos
No Google I/O 2026, apresentamos a mudança do Android de um sistema operacional para um sistema de inteligência. Também mostramos como criar experiências inteligentes de forma nativa com o sistema e trazer o poder da IA do Google para seus apps.
Jingyu Shi • 2 min de leitura
-
Notícias sobre produtos
Temos o prazer de anunciar que o suporte oficial para Unreal Engine e Godot chegou ao Android XR. Também estamos lançando novas ferramentas projetadas para aumentar sua produtividade e ativar novos recursos de XR: o Android XR Engine Hub e o Android XR Interaction Framework.
Luke Hopkins, Ryan Bartley • Leitura de 4 minutos
Fique por dentro
Receba os insights mais recentes sobre desenvolvimento Android na sua caixa de entrada semanalmente.