System Android wywołuje zmianę konfiguracji za każdym razem, gdy klawiatura jest podłączana do urządzenia lub od niego odłączana. Aby zapewnić użytkownikom komfort i maksymalną produktywność na urządzeniach z dużym ekranem i odłączaną klawiaturą, aplikacja musi skutecznie zarządzać zmianami konfiguracji klawiatury.
Wyniki
Aplikacja reaguje na podłączenie lub odłączenie klawiatury zewnętrznej bez ponownego tworzenia uruchomionej aktywności.
Zapobieganie ponownemu tworzeniu aktywności po zmianie klawiatury
Aby zapobiec ponownemu tworzeniu aktywności po podłączeniu lub odłączeniu odłączanej klawiatury, dodaj wartości związane z klawiaturą do atrybutu configChanges
w pliku manifestu aplikacji i dodaj widok do hierarchii widoków aktywności, aby aplikacja mogła nasłuchiwać zmian konfiguracji.
1. Zadeklaruj atrybut configChanges
Zaktualizuj element <activity>
w manifeście aplikacji, dodając wartości keyboard|keyboardHidden
do listy zmian już zarządzanej konfiguracji:
<activity
...
android:configChanges="...|keyboard|keyboardHidden">
2. Dodawanie pustego widoku do hierarchii widoków
Zadeklaruj nowy widok i dodaj kod obsługi w metodzie onConfigurationChanged()
widoku:
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. } };
Najważniejsze punkty
android:configChanges
: atrybut elementu<activity>
w manifeście aplikacji. Informuje system o zmianach konfiguracji, którymi zarządza aplikacja.View#onConfigurationChanged()
: metoda, która reaguje na propagację nowej konfiguracji aplikacji.
Kolekcje, które zawierają ten przewodnik
Ten przewodnik jest częścią wyselekcjonowanych kolekcji przewodników, które obejmują szersze cele związane z programowaniem na Androida:
