Le système Android déclenche un changement de configuration chaque fois qu'un clavier est connecté ou déconnecté d'un appareil. Pour offrir une expérience utilisateur fluide et maximiser la productivité des utilisateurs sur les appareils à grand écran avec clavier détachable, votre application doit gérer efficacement les modifications de configuration du clavier.
Résultats
Votre application répond à la connexion ou à la déconnexion d'un clavier externe sans recréer l'activité en cours.
Empêcher la recréation d'activité lors du changement de clavier
Pour empêcher la recréation de votre activité lorsqu'un clavier détachable est connecté ou déconnecté, ajoutez des valeurs liées au clavier à l'attribut configChanges
du fichier manifeste de votre application et ajoutez une vue à la hiérarchie des vues de l'activité afin que votre application puisse écouter les modifications de configuration.
1. Déclarer l'attribut configChanges
Mettez à jour l'élément <activity>
dans le fichier manifeste de l'application en ajoutant les valeurs keyboard|keyboardHidden
à la liste des modifications de configuration déjà gérées :
<activity
...
android:configChanges="...|keyboard|keyboardHidden">
2. Ajouter une vue vide à la hiérarchie des vues
Déclarez une nouvelle vue et ajoutez votre code de gestionnaire dans la méthode onConfigurationChanged()
de la vue :
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. } };
Points essentiels
android:configChanges
: attribut de l'élément<activity>
du fichier manifeste de l'application. Informe le système des modifications de configuration gérées par l'application.View#onConfigurationChanged()
: méthode qui réagit à la propagation d'une nouvelle configuration d'application.
Collections contenant ce guide
Ce guide fait partie des collections de guides de démarrage rapide organisées qui couvrent des objectifs de développement Android plus larges :
