Android sistemi, bir klavye cihaza her takıldığında veya cihazdan her çıkarıldığında yapılandırma değişikliği tetikler. Çıkarılabilir klavyeli büyük ekranlı cihazlarda sorunsuz bir kullanıcı deneyimi sağlamak ve kullanıcı üretkenliğini en üst düzeye çıkarmak için uygulamanızın klavye yapılandırma değişikliklerini etkili bir şekilde yönetmesi gerekir.
Klavye değişikliğinde etkinliğin yeniden oluşturulmasını önleme
Çıkarılabilir bir klavye takıldığında veya çıkarıldığında etkinliğinizin yeniden oluşturulmasını önlemek için uygulama manifestinizin configChanges
özelliğine klavyeyle ilgili değerler ekleyin ve uygulamanızın yapılandırma değişikliklerini dinleyebilmesi için etkinliğin görünüm hiyerarşisine bir görünüm ekleyin.
1. configChanges
özelliğini tanımlama
Halihazırda yönetilen yapılandırma değişiklikleri listesine keyboard|keyboardHidden
değerlerini ekleyerek uygulama manifest dosyasında <activity>
öğesini güncelleyin:
<activity
...
android:configChanges="...|keyboard|keyboardHidden">
2. Görünüm hiyerarşisine boş bir görünüm ekleme
Yeni bir görünüm tanımlayın ve işleyici kodunuzu görünümün onConfigurationChanged()
yöntemine ekleyin:
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. } };
Önemli noktalar
android:configChanges
: Uygulama manifestinin<activity>
öğesinin özelliği. Uygulamanın yönettiği yapılandırma değişiklikleri hakkında sistemi bilgilendirir.View#onConfigurationChanged()
: Yeni bir uygulama yapılandırmasının dağıtımına tepki veren yöntem.
Sonuçlar
Uygulamanız artık çalışan etkinliği yeniden oluşturmadan harici bir klavyenin takılmasına veya çıkarılmasına yanıt veriyor.
Bu kılavuzu içeren koleksiyonlar
Bu kılavuz, daha geniş Android geliştirme hedeflerini kapsayan, özel olarak seçilmiş Hızlı Kılavuz koleksiyonlarından biridir:
![](https://developer.android.com/static/images/quick-guides/collection-illustration.png?hl=tr)