Zarządzanie zmianami konfiguracji klawiatury odłączanej

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:

Umożliw aplikacji optymalne działanie na tabletach, urządzeniach składanych i urządzeniach z ChromeOS.

Masz pytania lub chcesz przekazać opinię?

Otwórz stronę z najczęstszymi pytaniami i poznaj krótkie przewodniki lub skontaktuj się z nami i powiedz nam, co o tym myślisz.