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:
