Le système Android déclenche une modification de la configuration chaque fois qu'un clavier est connecté ou déconnecté d'un appareil. Pour offrir une expérience utilisateur fluide et optimiser la productivité des utilisateurs sur les appareils à grand écran dotés de claviers amovibles, 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 d'exécution.
Compatibilité des versions
Définissez le minSDK de votre projet sur le niveau d'API 8 pour cette implémentation (voir
View#onConfigurationChanged()).
Dépendances
Aucune.
Empêcher la recréation d'une activité lors du changement de clavier
Pour éviter que votre activité ne soit recréée lorsqu'un clavier amovible est connecté ou déconnecté, ajoutez des valeurs liées au clavier à l'attribut configChanges du fichier manifeste d'application 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 d'application en ajoutant les
keyboard|keyboardHidden valeurs à 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 un nouvel affichage et ajoutez votre code de gestion dans la méthode onConfigurationChanged() de l'affichage :
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 de ces collections de guides rapides organisées qui couvrent des objectifs de développement Android plus larges :