System Android powoduje zmianę konfiguracji za każdym razem, gdy klawiatura zostanie podłączona lub odłączona od urządzenia. Aby zapewnić płynną obsługę i zmaksymalizować produktywność użytkowników na urządzeniach z dużym ekranem i odłączanymi klawiaturami, aplikacja musi skutecznie zarządzać zmianami konfiguracji klawiatury.
Zapobieganie ponownemu tworzeniu aktywności po zmianie klawiatury
Aby zapobiec ponownemu tworzeniu aktywności podczas podłączania lub odłączania klawiatury zewnętrznej, 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 odbierać zmiany konfiguracji.
1. Zadeklaruj atrybut configChanges
Zaktualizuj element <activity>
w manifeście aplikacji, dodając wartości keyboard|keyboardHidden
do listy zmian w już zarządzanej konfiguracji:
<activity
...
android:configChanges="...|keyboard|keyboardHidden">
2. Dodawanie pustego widoku do hierarchii widoków
Zadeklaruj nowy widok i w metodie onConfigurationChanged()
widoku dodaj kod obsługi:
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 pliku manifestu aplikacji. Informuje system o zmianach konfiguracji zarządzanych przez aplikację.View#onConfigurationChanged()
: metoda reagująca na propagowanie nowej konfiguracji aplikacji.
Wyniki
Aplikacja reaguje teraz na podłączenie lub odłączenie klawiatury zewnętrznej bez ponownego tworzenia bieżącej aktywności.
Kolekcje zawierające ten przewodnik
Ten przewodnik należy do tych kolekcji krótkich przewodników, które obejmują szersze zagadnienia związane z tworzeniem aplikacji na Androida: