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

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

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

لتفعيل إدخال قلم الشاشة تلقائيًا، أضِف تبعية المكتبة إلى واجهة ملف 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 بكسل مستقل الكثافة المساحة المتروكة حول حقل الإدخال.

حقل إدخال يتضمّن مستطيلاً يحيط به يشير إلى حدود رصد أحداث حركة قلم الشاشة.
الشكل 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 للاختبار إذا كنت تستخدم جهازًا غير متوافق مع هذه الميزة. قلم الشاشة.

مصادر إضافية