إدارة تغييرات إعدادات لوحة المفاتيح القابلة للفصل

يُجري نظام 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 الأوسع نطاقًا:

يمكنك إتاحة تطبيقك لتقديم تجربة محسّنة للمستخدمين على الأجهزة اللوحية والأجهزة القابلة للطي وأجهزة ChromeOS.

إذا كانت لديك أسئلة أو ملاحظات

يمكنك الانتقال إلى صفحة الأسئلة الشائعة والاطّلاع على الأدلة السريعة أو التواصل معنا وإعلامنا برأيك.