Android sistemi, bir cihaza klavye her takıldığında veya cihazdan her çıkarıldığında yapılandırma değişikliğini tetikler. Sorunsuz bir kullanıcı deneyimi sağlamak ve klavyesi çıkarılabilen büyük ekranlı cihazlarda kullanıcı verimliliğini en üst düzeye çıkarmak için uygulamanızın klavye yapılandırma değişikliklerini etkili bir şekilde yönetmesi gerekir.
Sonuçlar
Uygulamanız, harici bir klavye bağlandığında veya çıkarıldığında çalışan etkinliği yeniden oluşturmadan yanıt veriyor.
Klavye değiştirildiğ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 klavye ile 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 bildirin
Uygulama manifest dosyasındaki <activity>
öğesini, halihazırda yönetilen yapılandırma değişiklikleri listesine keyboard|keyboardHidden
değerlerini ekleyerek 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 bildirin 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 yayılmasına tepki veren yöntem.
Bu kılavuzu içeren koleksiyonlar
Bu kılavuz, daha geniş Android geliştirme hedeflerini kapsayan şu seçilmiş Hızlı Kılavuz koleksiyonlarının bir parçasıdır:
