Il sistema Android attiva una modifica della configurazione ogni volta che una tastiera viene collegata o scollegata a un dispositivo. Per offrire un'esperienza utente fluida e massimizzare la produttività degli utenti sui dispositivi con schermi di grandi dimensioni e tastiere rimovibili, la tua app deve gestire in modo efficace le modifiche alla configurazione della tastiera.
Risultati
La tua app risponde al collegamento o allo scollegamento di una tastiera esterna senza ricreare l'attività in esecuzione.
Impedire la ricreazione dell'attività in caso di modifica della tastiera
Per evitare che la tua attività venga ricreata quando una tastiera rimovibile viene
collegata o scollegata, aggiungi valori correlati alla tastiera all'attributo configChanges
del manifest dell'app e aggiungi una visualizzazione alla gerarchia delle visualizzazioni dell'attività
in modo che l'app possa rilevare le modifiche alla configurazione.
1. Dichiarare l'attributo configChanges
Aggiorna l'elemento <activity>
nel file manifest dell'app aggiungendo i valori keyboard|keyboardHidden
all'elenco delle modifiche alla configurazione già gestite:
<activity
...
android:configChanges="...|keyboard|keyboardHidden">
2. Aggiungi una visualizzazione vuota alla gerarchia di visualizzazioni
Dichiara una nuova visualizzazione e aggiungi il codice del gestore all'interno del metodo
onConfigurationChanged()
della visualizzazione:
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. } };
Punti chiave
android:configChanges
: attributo dell'elemento<activity>
del manifest dell'app. Informa il sistema delle modifiche alla configurazione gestite dall'app.View#onConfigurationChanged()
: metodo che reagisce alla propagazione di una nuova configurazione dell'app.
Raccolte che contengono questa guida
Questa guida fa parte di queste raccolte selezionate di guide rapide che coprono obiettivi di sviluppo Android più ampi:
