Mengelola perubahan konfigurasi keyboard yang dapat dilepas

Sistem Android memicu perubahan konfigurasi setiap kali keyboard dipasang ke atau dilepas dari perangkat. Untuk memastikan pengalaman pengguna yang lancar dan memaksimalkan produktivitas pengguna di perangkat layar besar dengan keyboard yang dapat dilepas, aplikasi Anda harus mengelola perubahan konfigurasi keyboard secara efektif.

Mencegah pembuatan ulang aktivitas saat keyboard berubah

Untuk mencegah aktivitas Anda dibuat ulang saat keyboard yang dapat dilepas dipasang atau dilepas, tambahkan nilai terkait keyboard ke atribut configChanges manifes aplikasi Anda dan tambahkan tampilan ke hierarki tampilan aktivitas sehingga aplikasi Anda dapat memproses perubahan konfigurasi.

1. Mendeklarasikan atribut configChanges

Perbarui elemen <activity> di manifes aplikasi dengan menambahkan nilai keyboard|keyboardHidden ke daftar perubahan konfigurasi yang telah dikelola:

<activity
    ...
    android:configChanges="...|keyboard|keyboardHidden">

2. Menambahkan tampilan kosong ke hierarki tampilan

Deklarasikan tampilan baru dan tambahkan kode pengendali Anda di dalam metode onConfigurationChanged() tampilan:

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.
    }
};

Poin utama

Hasil

Aplikasi Anda kini merespons keyboard eksternal yang terpasang atau dilepas tanpa membuat ulang aktivitas yang sedang berjalan.

Koleksi yang berisi panduan ini

Panduan ini adalah bagian dari koleksi Panduan Cepat pilihan yang membahas sasaran pengembangan Android yang lebih luas:

Aktifkan aplikasi Anda untuk mendukung pengalaman pengguna yang dioptimalkan di tablet, perangkat foldable, dan perangkat ChromeOS.

Ada pertanyaan atau masukan

Buka halaman pertanyaan umum (FAQ) dan pelajari panduan singkat atau hubungi kami dan beri tahu kami pendapat Anda.