משתמשי Android מגיעים לאפליקציה שלכם מכל מיני סוגים של גורמי צורה, כלומר טלפונים, טאבלטים, מכשירים מתקפלים ומכשירי Chromebook. באינטראקציה עם האפליקציה, במיוחד במסכים גדולים יותר, המשתמשים עשויים להשתמש גם במכשיר הצבעה כלשהו, כמו עכבר עם שלושה לחצנים. אפליקציות ל-Android תומכות בהחלת סגנונות שונים על מצביע העכבר, כדי לעזור למשתמשים האלה לקבל אינדיקציה ויזואלית לכך שהם יכולים לקיים אינטראקציה עם אובייקט.
שימוש בסמני ברירת המחדל של המערכת
המשתמשים מכירים מוסכמות שונות לאינטראקציה עם סוגים שונים של אובייקטים במכשירים עם מסכים גדולים. מערכת Android מספקת למפתחים כמה מסמלי הסמן הנפוצים ביותר שהמשתמשים מכירים. אפשר להוסיף את סמלי ברירת המחדל האלה של סמן המערכת באמצעות כמה שורות קוד. בואו נסתכל על קטע הקוד הבא ב-Kotlin:
myView.setOnHoverListener { view, _ -> view.pointerIcon = PointerIcon.getSystemIcon(applicationContext, PointerIcon.TYPE_HAND) false // Listener did not consume the event. }
בדוגמה הזו, myView היא התצוגה שתוגדר לסמל מצביע בתנאים מסוימים. התנאי שמוצג כאן הוא מצב ריחוף, שמתרחש כשסמן העכבר נמצא מעל תצוגה. בתרחישים אחרים, יכול להיות שתרצו להציג סמל המתנה במהלך העיבוד או כוונת במשחק.
הפונקציה setOnHoverListener מקשיבה למצב שבו מצביע העכבר עובר למצב ריחוף, ואז פועלת בהתאם לאירוע הזה. בתוך פונקציית event listener, הפונקציה view.pointerIcon נקראת כדי להגדיר את סמל הסמן לתצוגה המסוימת הזו. סמל מערכת קיים משמש להגדרת סמל הסמן.
יש כמה סמלי מערכת שמוטמעים ב-Android. רשימה מלאה מופיעה בתחתית הדף הזה. השתמשת בסמל TYPE_HAND, שמציג יד סגורה עם אצבע מורה מושטת.
שימוש בסמן מיוחד משלכם
// Loading a bitmap to use as a pointer icon BitmapFactory.decodeResource( this.resources, R.drawable.dollar_sign ), CURSOR_WIDTH, CURSOR_HEIGHT, false ) // Creating the pointer icon and sending clicks from the center of the mouse icon PointerIcon.create(dollarBitmap, (CURSOR_WIDTH/2).toFloat(), (CURSOR_HEIGHT/2).toFloat())
הערה: המיקום של הנקודה החמה תלוי בתרחיש לדוגמה. לדוגמה, באפליקציית ציור, הנקודה הפעילה תוגדר כקצה העט או המכחול.
דוגמאות
הוספה של סמלי מצביע לאפליקציה היא דרך מצוינת לעזור למשתמשים ליהנות מחוויה אינטואיטיבית יותר במגוון גורמי הצורה של המכשירים שבהם הם משתמשים. יש הרבה סמלי מערכת שמוגדרים כברירת מחדל, ואם הם לא מתאימים לצרכים שלכם, תמיד תוכלו לטעון או ליצור סמלים משלכם.
-
גרירה ושחרור – אם האפליקציה שלכם תומכת בגרירה מאפליקציה אחרת ושחרור באפליקציה שלכם, תוכלו להטמיע את הסמל
TYPE_NO_DROP. כך תוכלו להציג אינדיקציה חזותית לכך שהאפליקציה לא תומכת בסוג ה-MIME שמנסים לגרור לתוכה. -
מיפוי – אם יש לכם אפליקציית מיפוי ואתם רוצים להראות למשתמשים שהם יכולים להזיז את המפה, אתם יכולים להוסיף להם אפשרות להציג את הסמל
TYPE_GRABכשהם מעבירים את העכבר מעל המפה. כשמשתמש לוחץ, אפשר לעדכן את הסמל ליד אוחזת כדי להראות שהוא מזיז את המפה. -
עריכת תמונות – משתמשים בעריכת תמונות רוצים אמצעי בקרה שמאפשרים להם לבחור זכוכית מגדלת כדי להגדיל את התמונה. אפשר לשנות את סמן העכבר לזכוכית מגדלת עם הסמל
TYPE_ZOOM_INכשמצב ההגדלה נבחר. - ועוד הרבה הזדמנויות
הערה: כדי לראות שינויים שונים במצביע בפעולה, אפשר לעיין בדוגמה למצביע ב-GitHub.
נספח
קריאה נוספת
- דוגמה לשימוש ב-GitHub Pointer
- מסמכי התיעוד של המחלקה PointerIcon ב-Android
- אופטימיזציה של אפליקציות ל-ChromeOS : סמני עכבר בהתאמה אישית
סמני ברירת המחדל של המערכת
אלה הסמנים שזמינים כברירת מחדל במערכת Android.
| שם הסמן | סמל |
|---|---|
| TYPE_ALIAS | ![]() |
| TYPE_ALL_SCROLL | ![]() |
| TYPE_ARROW | ![]() |
| TYPE_CELL | סמן התא |
| TYPE_CONTEXT_MENU | ![]() |
| TYPE_COPY | ![]() |
| TYPE_CROSSHAIR | ![]() |
| TYPE_DEFAULT | ![]() |
| TYPE_GRAB | ![]() |
| TYPE_GRABBING | ![]() |
| TYPE_HAND | ![]() |
| TYPE_HELP | ![]() |
| TYPE_HORIZONTAL_DOUBLE_ARROW | ![]() |
| TYPE_NO_DROP | ![]() |
| TYPE_NULL | לא יוצג סמן |
| TYPE_TEXT | ![]() |
| TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW | ![]() |
| TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW | ![]() |
| TYPE_VERTICAL_DOUBLE_ARROW | ![]() |
| TYPE_VERTICAL_TEXT | ![]() |
| TYPE_WAIT | ![]() |
| TYPE_ZOOM_IN | ![]() |
| TYPE_ZOOM_OUT | ![]() |




















