يُجري نظام Android تغييرًا في الإعدادات في كل مرة يتم فيها ربط لوحة مفاتيح بجهاز أو فصلها عنه. لضمان تجربة مستخدم سلسة و زيادة إنتاجية المستخدم إلى أقصى حد على الأجهزة ذات الشاشات الكبيرة والمزوّدة بلوحات مفاتيح قابلة للفصل، يجب أن يدير تطبيقك تغييرات إعدادات لوحة المفاتيح بفعالية.
منع إعادة إنشاء النشاط عند تغيير لوحة المفاتيح
لمنع إعادة إنشاء نشاطك عند ربط لوحة مفاتيح قابلة للفصل أو فصلها، أضِف قيمًا ذات صلة بلوحة المفاتيح إلى سمة configChanges
في ملف بيان تطبيقك وأضِف عرضًا إلى التسلسل الهرمي لعرض النشاط
كي يتمكّن تطبيقك من الاستماع إلى تغييرات الضبط.
1. إدخال السمة configChanges
عدِّل العنصر <activity>
في بيان التطبيق عن طريق إضافة قيم
keyboard|keyboardHidden
إلى قائمة
تغييرات الإعدادات المُدارة سابقًا:
<activity
...
android:configChanges="...|keyboard|keyboardHidden">
2- إضافة عرض فارغ إلى هيكل العرض
يمكنك الإعلان عن طريقة عرض جديدة وإضافة رمز معالِج داخل onConfigurationChanged()
في طريقة العرض:
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. } };
النقاط الرئيسية
-
android:configChanges
: سمة عنصر<activity>
في بيان التطبيق إبلاغ النظام بتغيُّرات الإعدادات التي يُديرها التطبيق -
View#onConfigurationChanged()
: الطريقة التي تستجيب لنشر إعدادات تطبيق جديدة.
النتائج
يستجيب تطبيقك الآن عند توصيل لوحة مفاتيح خارجية أو فصلها بدون إعادة إنشاء النشاط الجاري.
المجموعات التي تتضمّن هذا الدليل
هذا الدليل هو جزء من مجموعات الأدلة السريعة المنظَّمة التي تتناول أهداف تطوير Android الأوسع نطاقًا:
![](https://developer.android.com/static/images/quick-guides/collection-illustration.png?hl=ar)