Temos uma novidade incrível: o Material 3 Adaptive 1.2.0 agora está estável!
Esta versão continua a se basear nos fundamentos das versões anteriores, ampliando o suporte a mais pontos de interrupção para classes de tamanho de janela e novas estratégias para posicionar painéis de exibição automaticamente.
Novidades no Material 3 Adaptive 1.2.0
Essa versão estável é criada com base no suporte do WindowManager 1.5.0 para pontos de interrupção grandes e extragrandes e apresenta as novas estratégias de reflow e levitate para ListDetailPaneScaffold e SupportingPaneScaffold.
Novas classes de tamanho de janela: grande e extragrande
O WindowManager 1.5.0 introduziu dois novos pontos de interrupção para a classe de tamanho de janela de largura, oferecendo suporte a janelas ainda maiores do que a classe de tamanho de janela expandida. Para ativar os pontos de interrupção grande (L) e extra grande (XL), adicione o seguinte parâmetro à chamada currentWindowAdaptiveInfo() na sua base de código:
currentWindowAdaptiveInfo(supportLargeAndXLargeWidth = true)
Essa flag permite que a biblioteca também retorne pontos de interrupção L e XL sempre que necessário.
Novas estratégias adaptáveis: reflow e levitate
Organizar conteúdo e painéis de exibição em uma janela é uma tarefa complexa que precisa considerar muitos fatores, começando pelo tamanho da janela. Com a nova biblioteca adaptativa do Material 3, duas novas tecnologias podem ajudar você a criar um layout adaptável com o mínimo de esforço.
Com o reflow, os painéis são reorganizados quando o tamanho da janela ou a proporção muda, colocando um segundo painel ao lado do primeiro quando a janela é larga o suficiente ou reflow o segundo painel abaixo do primeiro sempre que a janela é mais alta. Essa técnica também se aplica quando a janela diminui: o conteúdo é reordenado para a parte de baixo.
Refluxo de um painel com base no tamanho da janela
Embora o reflow seja uma opção incrível em muitos casos, pode haver situações em que o conteúdo precise ser ancorado em um lado da janela ou levitado sobre ela. A estratégia de levitação não apenas acopla o conteúdo, mas também permite personalizar recursos como capacidade de arrastar, redimensionar e até mesmo a tela de fundo.
Levitar um painel da lateral para o centro com base na proporção
As estratégias de fluxo e levitação podem ser declaradas no construtor Navigator usando o parâmetro adaptStrategies, e ambas podem ser aplicadas aos painéis de detalhes e listas e de suporte scaffolds:
val navigator = rememberListDetailPaneScaffoldNavigator<Nothing>( adaptStrategies = ListDetailPaneScaffoldDefaults.adaptStrategies( detailPaneAdaptStrategy = AdaptStrategy.Reflow( reflowUnder = ListDetailPaneScaffoldRole.List ), extraPaneAdaptStrategy = AdaptStrategy.Levitate( alignment = Alignment.Center ) ) )
Para saber mais sobre como aproveitar essas novas estratégias adaptáveis, consulte o site do Material e o exemplo de código completo no GitHub.
-
Novidades sobre produtosComo desenvolvedores Android, vocês têm muitas opções de agentes, LLMs, ferramentas e interfaces de linha de comando (CLI) para usar no desenvolvimento de apps. Nosso objetivo é ajudar você a criar apps Android bonitos e de alta qualidade, não importa como você escolha desenvolver.
Simona Milanovic • Leitura de 4 minutos -
Novidades sobre produtosNo Google Play, estamos expandindo continuamente nossa plataforma de assinaturas para ajudar você a impulsionar o crescimento, se adaptar a novos modelos de negócios e atender aos usuários exatamente onde eles estão.
Sheenam Mittal • Leitura de 4 minutos -
Novidades sobre produtosNo ano passado, o Android Studio passou a aceitar qualquer modelo de IA. Hoje, estamos dando o próximo passo ao lançar o suporte para os agentes de programação que você escolher.
Matthew Warner • Leitura de 3 minutos
Receba os insights mais recentes sobre desenvolvimento Android na sua caixa de entrada semanalmente.