Gérer les modifications de configuration du clavier amovible

Le système Android déclenche une modification de configuration chaque fois qu'un clavier est connecté ou déconnecté d'un appareil. Pour garantir une expérience utilisateur fluide et maximiser la productivité des utilisateurs sur les appareils à grand écran avec clavier amovible, votre application doit gérer efficacement les modifications de configuration du clavier.

Empêcher la recréation d'activité en cas de 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 de votre fichier manifeste d'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.

Résultats

Votre application réagit désormais à la connexion ou à la déconnexion d'un clavier externe sans recréer l'activité en cours d'exécution.

Collections contenant ce guide

Ce guide fait partie de ces collections de guides rapides sélectionnées qui couvrent des objectifs de développement Android plus larges:

Assurez-vous que votre application propose une expérience utilisateur optimisée sur les tablettes, les appareils pliables et les appareils ChromeOS.

Vous avez des questions ou des commentaires ?

Consultez notre page des questions fréquentes et découvrez les guides rapides, ou contactez-nous pour nous faire part de vos commentaires.