تتيح مكتبة Jetpack
androidx.compose.material3
للمستخدمين الكتابة في أي مكوّن TextField في
أي تطبيق باستخدام قلم إلكتروني.
لتفعيل إدخال البيانات باستخدام القلم الرقمي تلقائيًا، أضِف عنصر المكتبة التابع إلى ملف build.gradle في تطبيقك:
Kotlin
dependencies { implementation("androidx.compose.foundation:foundation:LATEST_COMPOSE_VERSION") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "LATEST_EXTENSION_VERSION" } kotlinOptions { jvmTarget = "LATEST_JVM_VERSION" } }
Groovy
dependencies { implementation 'androidx.compose.foundation:foundation:LATEST_COMPOSE_VERSION' } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = 'LATEST_EXTENSION_VERSION' } kotlinOptions { jvmTarget = 'LATEST_JVM_VERSION' } }
TextField
تكون الكتابة بخط اليد باستخدام قلم الشاشة مفعّلة تلقائيًا لجميع مكونات TextField على الإصدار 14 من نظام التشغيل Android والإصدارات الأحدث، وكذلك على حزمة androidx.compose.foundation:foundation:1.7.0. يبدأ وضع الكتابة اليدوية عند رصد حدث حركة قلم
داخل حدود الكتابة اليدوية للمكوّن.TextField
تتضمّن حدود الكتابة اليدوية مساحة متروكة عمودية تبلغ 40 وحدة بكسل مستقلة عن الكثافة ومساحة متروكة أفقية تبلغ 10 وحدات بكسل مستقلة عن الكثافة حول حقل الإدخال.
TextField
لا تتوفّر الكتابة بخط اليد باستخدام قلم الشاشة في حقول TextField عند طلب محرر طريقة الإدخال باستخدام KeyboardType.Password.
تفويض الإدخال
يمكن للتطبيقات عرض عناصر واجهة مستخدم نائبة تبدو وكأنّها حقول إدخال نص، ولكنّها في الواقع مجرّد عناصر واجهة مستخدم ثابتة بدون إمكانية إدخال نص. تُعدّ حقول البحث مثالاً شائعًا على ذلك. يؤدي النقر على عنصر واجهة المستخدم الثابت إلى بدء انتقال إلى واجهة مستخدم جديدة تحتوي على حقل إدخال نص وظيفي يتم التركيز عليه لإدخال البيانات.
تفويض إدخال قلم الشاشة
استخدِم واجهات برمجة التطبيقات الخاصة بتفويض الكتابة اليدوية لتوفير إمكانية إدخال الكتابة اليدوية باستخدام قلم
في حقول الإدخال الخاصة بالعناصر النائبة (راجِع handwritingDetector و
handwritingHandler). يتم ضبط عنصر واجهة المستخدم الخاص بالعنصر النائب
لتفويض الكتابة اليدوية إلى حقل إدخال وظيفي. للاطّلاع على مثال
للتنفيذ، يُرجى الرجوع إلى
HandwritingDetectorSample.kt.
يبدأ وضع الكتابة بخط اليد باستخدام قلم الشاشة عندما يكتسب حقل الإدخال الوظيفي التركيز وينشئ InputConnection.
الاختبار
تتوفّر ميزة الكتابة اليدوية باستخدام القلم على أجهزة Android 14 والإصدارات الأحدث التي تتضمّن قلمًا متوافقًا ومحرّر طريقة إدخال (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 التجريبي لاختبار الميزة إذا كنت تستخدم جهازًا لا يتوافق مع القلم.
مراجع إضافية
- Material Design — حقول النص
- التعامل مع إدخالات المستخدم