Gerenciar mudanças na configuração do teclado removível

O sistema Android aciona uma mudança de configuração sempre que um teclado é conectado ou desconectado de um dispositivo. Para oferecer uma experiência do usuário perfeita e maximizar a produtividade em dispositivos de tela grande com teclados removíveis, seu app precisa gerenciar de maneira eficaz as mudanças na configuração do teclado.

Resultados

O app responde à conexão ou desconexão de um teclado externo sem recriar a atividade em execução.

Evitar a recriação de atividades na mudança de teclado

Para evitar que a atividade seja recriada quando um teclado removível é conectado ou desconectado, adicione valores relacionados ao teclado ao atributo configChanges do manifesto do app e adicione uma visualização à hierarquia de visualização da atividade para que o app possa detectar mudanças de configuração.

1. Declarar o atributo configChanges

Atualize o elemento <activity> no manifesto do app adicionando os valores keyboard|keyboardHidden à lista de mudanças de configuração já gerenciadas:

<activity
    ...
    android:configChanges="...|keyboard|keyboardHidden">

2. Adicionar uma visualização vazia à hierarquia de visualização

Declare uma nova visualização e adicione o código do manipulador dentro do método onConfigurationChanged() da visualização:

Kotlin

val v = object : View(this) {
    override fun onConfigurationChanged(newConfig: Configuration?) {
        super.onConfigurationChanged(newConfig)
        // Handler code here.
    }
}

Java

View v = new View(this) {
    @Override
    protected void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        // Handler code here.
    }
};

Pontos principais

  • android:configChanges: atributo do elemento <activity> do manifesto do app. Informa o sistema sobre as mudanças de configuração gerenciadas pelo app.
  • View#onConfigurationChanged() : método que reage à propagação de uma nova configuração de app.

Coleções que contêm este guia

Este guia faz parte das coleções de guias rápidos selecionados que abrangem objetivos mais amplos de desenvolvimento para Android:

Permita que seu app ofereça uma experiência do usuário otimizada em tablets, dispositivos dobráveis e ChromeOS.

Tem dúvidas ou quer dar feedback?

Acesse nossa página de perguntas frequentes e confira guias rápidos ou entre em contato para compartilhar sua opinião.