إتاحة التنقل باستخدام لوحة المفاتيح

بالإضافة إلى أساليب الإدخال البسيطة، مثل الإعدادات الظاهرة على الشاشة لوحات المفاتيح: يتوافق نظام التشغيل Android مع لوحات المفاتيح الخارجية المتصلة بالجهاز. حاسمة توفّر لوحة المفاتيح وضعًا مناسبًا لإدخال النص وطريقة للمستخدمين التنقل والتفاعل مع التطبيق. رغم أن معظم الأجهزة المحمولة باليد مثل الهواتف التي تعمل باللمس كوضع أساسي للتفاعل، والأجهزة اللوحية وما شابه الأجهزة رائجة، ويرغب العديد من المستخدمين في توصيل ملحقات لوحة المفاتيح معهم.

وبما أنّ المزيد من الأجهزة التي تعمل بنظام التشغيل Android تقدّم هذا النوع من التجربة، من المهم تحسين تطبيقك لدعم التفاعل من خلال لوحة المفاتيح. هذا النمط كيفية تحسين التنقل باستخدام لوحة المفاتيح.

اختبار تطبيقك

قد يكون المستخدمون قادرين بالفعل على التنقل في تطبيقك باستخدام لوحة مفاتيح، لأن أن نظام Android يتيح معظم السلوكيات الضرورية بشكل افتراضي.

جميع التطبيقات المصغّرة التفاعلية التي يوفّرها إطار عمل Android، مثل Button و EditText—هي يمكن التركيز عليه. وهذا يعني أنه يمكن للمستخدمين التنقل باستخدام أجهزة التحكم مثل لوحة التحكّم أو لوحة المفاتيح، وتتوهج كل أداة أو تغير مظهرها عند على التركيز على الإدخال.

لاختبار تطبيقك، يُرجى تنفيذ الإجراء التالي:

  1. ثبِّت تطبيقك على جهاز يوفّر لوحة مفاتيح خارجية.

    إذا لم يكن لديك جهاز مزود بلوحة مفاتيح، يمكنك توصيل بلوتوث لوحة مفاتيح أو لوحة مفاتيح USB.

    يمكنك أيضًا استخدام محاكي Android:

    1. في "مدير AVD"، انقر على جهاز جديد أو اختَر ملفك الشخصي الحالي وانقر على نسخ.
    2. في النافذة التي تظهر، تأكّد من ضبط لوحة المفاتيح وأزرار الاتجاهات. مفعّلة.
  2. لاختبار تطبيقك، استخدِم مفتاح Tab فقط للتنقل في واجهة مستخدم تأكد من أن كل عنصر تحكم في واجهة المستخدم يتم التركيز عليه كما هو متوقع.

    ابحث عن أي حالات يتحرك فيها التركيز بشكل غير متوقع على نحو مماثل.

  3. البدء مرة أخرى من بداية التطبيق والتنقّل في واجهة المستخدِم باستخدام عناصر التحكم في الاتجاهات مثل مفاتيح الأسهم على لوحة المفاتيح. من كل عنصر يمكن التركيز عليه في واجهة المستخدم، اضغط على السهم المتّجه للأعلى والسهم المتّجه للأسفل يسار ويمين.

    ابحث عن أي حالات يتحرك فيها التركيز بشكل غير متوقع على نحو مماثل.

إذا واجهت أيّ حالات تؤدي فيها التنقّل باستخدام مفتاح Tab أو عناصر التحكم في الاتجاهات لا تعمل على مستوى توقعاتك، فحدّد المكان الذي يجب أن يكون التركيز فيه في تخطيطك، كما هو موضح في الأقسام التالية.

التعامل مع التنقُّل بين علامات التبويب

عندما يتنقل أحد المستخدمين في تطبيقك باستخدام مفتاح Tab بلوحة المفاتيح، فإن مفتاح يمرر النظام تركيز الإدخال بين العناصر بناءً على الترتيب الذي تظهر في التخطيط. على سبيل المثال، إذا كنت تستخدم تخطيطًا نسبيًا، وترتيب العناصر الموجودة على الشاشة مختلفًا عن الترتيب في الملف، فمن ثم إلى تحديد ترتيب التركيز يدويًا.

على سبيل المثال، في التخطيط التالي، تتم محاذاة زرين إلى اليمين جانبي، تتم محاذاة حقل نصي إلى يسار الزر الثاني. لاجتياز الاختبار التركيز من الزر الأول إلى حقل النص ثم إلى الزر الثاني، يحتاج التخطيط إلى تحديد ترتيب التركيز بشكل صريح لكل عنصر من العناصر مع android:nextFocusForward .

<androidx.constraintlayout.widget.ConstraintLayout ...>
    <Button
        android:id="@+id/button1"
        android:nextFocusForward="@+id/editText1"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        ... />
    <Button
        android:id="@+id/button2"
        android:nextFocusForward="@+id/button1"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/button1"
        ... />
    <EditText
        android:id="@id/editText1"
        android:nextFocusForward="@+id/button2"
        app:layout_constraintBottom_toBottomOf="@+id/button2"
        app:layout_constraintRight_toLeftOf="@id/button2
        ...  />
    ...
</androidx.constraintlayout.widget.ConstraintLayout>

الآن، بدلاً من نقل التركيز من button1 إلى button2 ثم editText1، يتم نقله بشكل مناسب حسب شكل الظهور على الشاشة: من button1 إلى editText1 ثم button2.

التعامل مع ميزة التنقّل الاتجاهات

يمكن للمستخدمين أيضًا التنقّل في تطبيقك باستخدام مفاتيح الأسهم في لوحة المفاتيح، المستخدم نفس الشيء عند التنقل باستخدام لوحة التحكم أو كرة التعقب. النظام يقدم "أفضل تخمين" طريقة العرض التي يجب التركيز عليها في اتجاه معين بناءً على تخطيط طرق العرض على الشاشة. ومع ذلك، قد لا يتمكن النظام بشكل خاطئ.

إذا لم يمرّر النظام التركيز إلى طريقة العرض المناسبة عند التنقّل في في اتجاه معين، حدد طريقة العرض التي يجب أن تركز على ما يلي :

تحدد كل سمة طريقة العرض التالية ليتم التركيز عليها عندما يتصفح المستخدم يتنقل في هذا الاتجاه، كما هو محدد في رقم تعريف الملف الشخصي. يظهر هذا في المثال التالي:

<Button
    android:id="@+id/button1"
    android:nextFocusRight="@+id/button2"
    android:nextFocusDown="@+id/editText1"
    ... />
<Button
    android:id="@id/button2"
    android:nextFocusLeft="@id/button1"
    android:nextFocusDown="@id/editText1"
    ... />
<EditText
    android:id="@id/editText1"
    android:nextFocusUp="@id/button1"
    ...  />

مصادر إضافية

يمكنك الاطّلاع على المراجع التالية ذات الصلة: