סמלים של סמן העכבר

משתמשי 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.

סמלי מצביעים בהתאמה אישית באפליקציית Android.

נספח

קריאה נוספת

סמני ברירת המחדל של המערכת

אלה הסמנים שזמינים כברירת מחדל במערכת 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 סמן הטקסט, קורה בצורת I.
TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW סמן חץ כפול אלכסוני לשינוי גודל, מהפינה הימנית התחתונה אל הפינה השמאלית העליונה.
TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW הסמן של חץ כפול אלכסוני שמופיע בפינה הימנית העליונה ופונה אל הפינה השמאלית התחתונה, לשינוי הגודל.
TYPE_VERTICAL_DOUBLE_ARROW הסמן של החץ הכפול האנכי לשינוי הגודל.
TYPE_VERTICAL_TEXT סמן הטקסט האנכי, קורה אופקית בצורת I.
TYPE_WAIT סמן ההמתנה, שעון חול או עיגול מסתובב.
TYPE_ZOOM_IN סמן הזום, זכוכית מגדלת עם סימן פלוס.
TYPE_ZOOM_OUT סמן להקטנת התצוגה, זכוכית מגדלת עם סימן מינוס.