ב-Android 14 (רמת API 34) ומעלה, משתמשים יכולים לכתוב באמצעות סטיילוס בכל שדה להזנת טקסט בכל אפליקציה. שדות להזנת טקסט ב-Android, כולל רכיבי EditText ווידג'טים של טקסט WebView, תומכים בהזנה באמצעות עט סטיילוס כברירת מחדל.
עם זאת, אם האפליקציה שלכם דורשת שדות קלט טקסט מותאמים אישית (ראו עורכי טקסט מותאמים אישית) או שיש לה פריסה מורכבת עם שדות להזנת טקסט שמוצגים כשכבת-על על משטח ציור, תצטרכו להתאים אישית את האפליקציה.
EditText
כברירת מחדל, כתיבה ידנית בסטיילוס מופעלת בכל השדות של EditText ב-Android מגרסה 14 ואילך. מצב כתב היד מופעל עבור EditText כשמזוהה אירוע של תנועת עט סטיילוס בגבולות כתב היד של התצוגה.
הגבולות של כתב היד כוללים שוליים אנכיים של 40dp ושוליים אופקיים של 10dp מסביב לתצוגה. אפשר לשנות את גבולות כתב היד באמצעות setHandwritingBoundsOffsets().
משביתים את הכתיבה הידנית באמצעות setAutoHandwritingEnabled(false).
EditText שדות.
העברת הרשאה להזנת נתונים
אפליקציות יכולות להציג רכיבי placeholder של ממשק משתמש שנראים כמו שדות להזנת טקסט, אבל הם בעצם רק רכיבים סטטיים של ממשק משתמש ללא אפשרות להזנת טקסט. דוגמה נפוצה היא שדות חיפוש. הקשה על רכיב סטטי בממשק המשתמש מפעילה מעבר לממשק משתמש חדש שמכיל שדה קלט טקסט פונקציונלי עם מיקוד לקלט.
הענקת גישה לקלט סטיילוס
משתמשים בממשקי ה-API להעברת נתוני כתב יד כדי לתמוך בהזנת כתב יד באמצעות עט סטיילוס בשדות להזנת קלט של placeholder (ראו setHandwritingDelegatorCallback() ו-setIsHandwritingDelegate()). רכיב בממשק המשתמש של ה-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 – שדות טקסט
- עורכי טקסט בהתאמה אישית