إدخال قلم الشاشة في الحقول النصية

وتتيح مكتبة Jetpack androidx.compose.material3 للمستخدمين إمكانية الكتابة إلى أي مكوّن TextField في أي تطبيق باستخدام قلم الشاشة.

الشكل 1. إدخال مكتوب بخط اليد باستخدام قلم شاشة.

لتفعيل إدخال قلم الشاشة تلقائيًا، يمكنك إضافة المكتبة الاعتمادية إلى ملف build.gradle الخاص بتطبيقك:

Kotlin

dependencies {
    implementation("androidx.compose.foundation:foundation:1.7.0")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

رائع

dependencies {
    implementation 'androidx.compose.foundation:foundation:1.7.0'
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

TextField

تكون الكتابة بخط اليد بقلم الشاشة مفعَّلة لجميع مكوّنات TextField تلقائيًا على الإصدار 14 من نظام التشغيل Android والإصدارات الأحدث، بالإضافة إلى اعتمادية androidx.compose.foundation:foundation:1.7.0. يبدأ وضع الكتابة بخط اليد في TextField عند رصد حدث حركة قلم الشاشة ضمن حدود الكتابة بخط اليد للمكوِّن.

تتضمّن حدود الكتابة بخط اليد مساحة متروكة عمودية تبلغ 40 وحدة بكسل مستقلة الكثافة (dp) و10 وحدات بكسل مستقلة الكثافة الأفقية حول حقل الإدخال.

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

لا تتوفّر الكتابة بخط اليد باستخدام قلم الشاشة في حقول TextField عند طلب محرِّر طريقة الإدخال من خلال KeyboardType.Password.

تفويض الإدخال

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

الشكل 3. تفويض الإدخال من عنصر واجهة مستخدم ثابت إلى حقل إدخال النص

تفويض إدخال قلم الشاشة

استخدِم واجهات برمجة التطبيقات لتفويض الكتابة بخط اليد لإتاحة إمكانية إدخال الكتابة بخط اليد بقلم الشاشة في حقول الإدخال النائب (راجِع handwritingDetector وhandwritingHandler). يتم ضبط عنصر واجهة المستخدم النائب لتفويض الكتابة بخط اليد إلى حقل إدخال وظيفي. للحصول على مثال عن عملية التنفيذ، يُرجى الاطّلاع على HandwritingDetectorSample.kt.

يبدأ وضع الكتابة بخط اليد بقلم الشاشة عندما يركّز حقل الإدخال الوظيفي على التركيز وينشئ InputConnection.

الشكل 4. تفويض إدخال قلم الشاشة من عنصر واجهة مستخدم ثابت إلى حقل إدخال النص

الاختبار

تتوفّر ميزة الكتابة بخط اليد بقلم الشاشة على الأجهزة التي تعمل بالإصدار 14 من نظام التشغيل Android والإصدارات الأحدث والتي تتضمّن جهاز إدخال متوافق بقلم الشاشة وأداة تعديل طريقة الإدخال (IME) تتوافق مع واجهات برمجة التطبيقات للكتابة بخط اليد بقلم الشاشة على نظام التشغيل Android 14.

إذا لم يكن لديك جهاز إدخال بقلم الشاشة، يمكنك محاكاة إدخال قلم الشاشة على أي جهاز يتمتع بإمكانية الوصول إلى الجذر (بما في ذلك أدوات المحاكاة) باستخدام أوامر Android Debug Bridge (adb) التالية:


// Android 14
adb shell setprop persist.debug.input.simulate_stylus_with_touch true && adb shell stop && adb shell start

// Android 15 and higher
// Property takes effect after screen reconfiguration such as orientation change.
adb shell setprop debug.input.simulate_stylus_with_touch true

يمكنك استخدام إصدار Gboard التجريبي لإجراء الاختبار إذا كنت تستخدم جهازًا لا يتوافق مع قلم الشاشة.

مصادر إضافية