Android 14 (רמת API 34) ואילך מאפשרת למשתמשים לכתוב בכל קלט טקסט
בשדה של אפליקציה כלשהי באמצעות סטיילוס. שדות הזנת טקסט ב-Android, כולל
EditText
רכיבים ו
תמיכה בווידג'טים של טקסט WebView
כברירת מחדל, בקלט סטיילוס.
עם זאת, אם האפליקציה דורשת שדות מותאמים אישית של קלט טקסט (עיינו בקטע טקסט בהתאמה אישית' עורכים) או הפריסה מורכבת עם שדות הזנת טקסט שמכסה את משטח השרטוט, צריכים להתאים אישית את האפליקציה.
EditText
ב-Android 14, כתיבה ידנית בסטיילוס מופעלת כברירת מחדל בכל EditText
השדות
גבוהה יותר. מצב כתב יד מופעל ב-EditText
כשתנועת סטיילוס
האירוע מזוהה בגבולות כתב היד בתצוגה.
הגבולות של כתב היד כוללים מרווח פנימי של 40dp ורוחב של 10dp
המרווח הפנימי מסביב לתצוגה. התאמת גבולות כתב היד באמצעות
setHandwritingBoundsOffsets()
השבתת כתב יד עם
setAutoHandwritingEnabled(false)
הענקת גישה לקלט
אפליקציות יכולות להציג רכיבי 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); }
תנועת הסטיילוס מעל תצוגת השדה של קלט הטקסט של ה-placeholder מפעילה את הקריאה החוזרת.
הקריאה החוזרת מפעילה את המעבר בממשק המשתמש כדי להציג את הקלט הפונקציונלי ולמקד אותו
השדה הזה. ההטמעה של הקריאה החוזרת (callback) בדרך כלל זהה להטמעה
ל-click listener ברכיב ה-placeholder. כאשר שדה הקלט הפונקציונלי
יוצרת
InputConnection
מצב כתיבה ידנית בסטיילוס מתחיל.
עיצוב חומר
com.google.android.material.search
מספקת
SearchBar
והקבוצה
SearchView
כיתות
כדי להקל על ההטמעה של תבנית ה-placeholder של ממשק המשתמש.
תצוגות חיפוש פונקציונליות ו-placeholder מקושרות אל
setUpWithSearchBar()
הענקת גישה לכתיבה ידנית מוגדרת בספריית Material ללא נוספות שנדרש להתפתחות של האפליקציה.
חפיפה עם משטחי שרטוט
אם לאפליקציה יש משטח שרטוט עם שדה טקסט שמכסה את פני השטח,
יכול להיות שתצטרכו להשבית את התכונה 'כתיבה ידנית בסטיילוס' כדי לאפשר למשתמש לצייר. צפייה
setAutoHandwritingEnabled()
בדיקה
כתיבה ידנית בסטיילוס נתמכת במכשירים עם Android מגרסה 14 ואילך עם מכשיר תואם לקלט סטיילוס ושיטת קלט עורך (IME) תומך בממשקי API לכתיבה ידנית בסטיילוס ב-Android 14.
אם אין לך מכשיר לקלט סטיילוס, עליך לדמות קלט סטיילוס בכל מכשיר עם גישה לרמה הבסיסית (root) (כולל אמולטורים) באמצעות הגשר הבא לניפוי באגים ב-Android פקודות (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) – שדות טקסט
- כלים בהתאמה אישית לעריכת טקסט