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
android:configChanges
: Atribut elemen<activity>
manifes aplikasi. Memberi tahu sistem tentang perubahan konfigurasi yang dikelola aplikasi.View#onConfigurationChanged()
: Metode yang bereaksi terhadap penyebaran konfigurasi aplikasi baru.
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:
![](https://developer.android.google.cn/static/images/quick-guides/collection-illustration.png?hl=id)