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

يؤدي نظام التشغيل 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() : طريقة تتفاعل مع نشر إعدادات تطبيق جديدة.

المجموعات التي تتضمّن هذا الدليل

يشكّل هذا الدليل جزءًا من مجموعات &quot;الدليل السريع&quot; المنسّقة التي تغطي أهدافًا أوسع لتطوير تطبيقات Android:

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

هل لديك أسئلة أو ملاحظات؟

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