ב-Android 14 (רמת API 34) ומעלה, המשתמשים יכולים לכתוב באמצעות סטיילוס בכל שדה להזנת טקסט בכל אפליקציה. שדות להזנת טקסט ב-Android, כולל רכיבי EditText ווידג'טים של טקסט WebView, תומכים כברירת מחדל בהזנה באמצעות עט סטיילוס.
עם זאת, אם האפליקציה שלכם דורשת שדות קלט טקסט מותאמים אישית (ראו עורכי טקסט מותאמים אישית) או שיש לה פריסה מורכבת עם שדות להזנת טקסט שמוצגים בשכבת-על של משטח ציור, תצטרכו להתאים אישית את האפליקציה.
EditText
כברירת מחדל, כתיבה ידנית בסטיילוס מופעלת בכל השדות של EditText ב-Android מגרסה 14 ואילך. מצב כתב היד מופעל עבור EditText כשמזוהה אירוע של תנועת עט סטיילוס בגבולות כתב היד של התצוגה.
הגבולות של כתב היד כוללים שוליים אנכיים של 40dp ושוליים אופקיים של 10dp מסביב לתצוגה. אפשר לשנות את גבולות כתב היד באמצעות setHandwritingBoundsOffsets().
משביתים את הכתיבה הידנית באמצעות setAutoHandwritingEnabled(false).
EditText שדות.
העברת קלט
אפליקציות יכולות להציג רכיבי placeholder של ממשק משתמש שנראים כמו שדות להזנת טקסט, אבל הם בעצם רק רכיבים סטטיים של ממשק משתמש ללא אפשרות להזנת טקסט. דוגמה נפוצה היא שדות חיפוש. הקשה על רכיב סטטי בממשק המשתמש מפעילה מעבר לממשק משתמש חדש שמכיל שדה קלט טקסט פונקציונלי עם מיקוד לקלט.
העברת קלט סטיילוס
כדי לתמוך בהזנת כתב יד באמצעות עט סטיילוס בשדות קלט של placeholder (ראו setHandwritingDelegatorCallback() ו-setIsHandwritingDelegate()), צריך להשתמש בממשקי ה-API להעברת כתב יד. רכיב ה-UI של ה-placeholder מוגדר להעברת כתב יד לשדה קלט פונקציונלי, למשל:
Kotlin
if (Build.VERSION.SDK_INT >= 34) { placeholderInputField.setHandwritingDelegatorCallback { showAndFocusDelegateInputField() } delegateInputField.setIsHandwritingDelegate(true) }
Java
if (Build.VERSION.SDK_INT >= 34) { placeholderInputField.setHandwritingDelegatorCallback(this::showAndFocusInputFieldDelegate); delegateInputField.setIsHandwritingDelegate(true); }
תנועת העט הדיגיטלי מעל תצוגת שדה הקלט של הטקסט של מציין המיקום מפעילה את הקריאה החוזרת (callback).
הקריאה החוזרת מפעילה את המעבר בממשק המשתמש כדי להציג את שדה הקלט הפונקציונלי ולמקד אותו. ההטמעה של ה-callback בדרך כלל זהה להטמעה של click listener ברכיב placeholder. כששדה הקלט הפונקציונלי יוצר InputConnection, מתחיל מצב כתב יד עם סטיילוס.
Material Design
הספרייה com.google.android.material.search מספקת את המחלקות SearchBar ו-SearchView כדי להקל על ההטמעה של תבנית ממשק המשתמש של placeholder.
תצוגות חיפוש של placeholder ושל פונקציות מקושרות ל-setUpWithSearchBar().
ההגדרה של העברת סמכויות לזיהוי כתב יד מתבצעת בספריית Material, בלי שנדרש פיתוח נוסף באפליקציה.
חפיפה עם משטחי שרטוט
אם לאפליקציה שלכם יש משטח ציור עם שדה טקסט שמוצג מעל המשטח, יכול להיות שתצטרכו להשבית את כתב היד באמצעות העט כדי לאפשר למשתמש לצייר. מידע נוסף זמין במאמר בנושא setAutoHandwritingEnabled().
בדיקה
כתיבה ידנית בסטיילוס נתמכת במכשירים עם Android מגרסה 14 ואילך, עם מכשיר קלט תואם לסטיילוס ועורך שיטות קלט (IME) שתומך בממשקי ה-API של כתיבה ידנית בסטיילוס ב-Android 14.
אם אין לכם מכשיר קלט עם עט סטיילוס, אתם יכולים לדמות קלט של עט סטיילוס בכל מכשיר עם גישת root (כולל אמולטורים) באמצעות הפקודות הבאות של 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 — Text fields
- עורכי טקסט בהתאמה אישית