מסכים מחוברים מאפשרים לכם להרחיב את חוויית השימוש בחלונות במחשב לטלפונים רגילים, ומעניקים למשתמשים גישה למסכים גדולים מהמכשירים הניידים שלהם. היכולת הזו פותחת אפשרויות חדשות לאינטראקציה עם האפליקציה ולפרודוקטיביות של המשתמשים.
כל התכונות הייחודיות של תצוגת מחשב חלות על מסכים מחוברים. כשמחברים טלפון למסך, המצב של הטלפון לא משתנה וסשן ריק של מחשב מתחיל במסך המחובר. המכשיר והמסך פועלים כשתי מערכות נפרדות, עם אפליקציות ספציפיות לכל מסך.
אם מחברים למסך חיצוני מכשיר עם תצוגת מחשב, כמו טאבלט, סשן המחשב יתפרס בשני המסכים. לאחר מכן, שני המסכים פועלים כמערכת אחת רציפה. ההגדרה הזו מאפשרת לחלונות, לתוכן ולסמן העכבר לנוע בחופשיות בין שני המסכים.
כדי לתמוך בצורה יעילה במסכים מחוברים, צריך להתייחס לכמה היבטים של העיצוב וההטמעה של האפליקציה. השיטות המומלצות הבאות מבטיחות חוויית משתמש חלקה ויעילה.
טיפול בשינויים במודעות דינמיות לרשת המדיה
אפליקציות רבות נוצרות מתוך הנחה שהאובייקט Display
והמאפיינים שלו לא ישתנו במהלך מחזור החיים של האפליקציה. עם זאת, כשמשתמש מחבר או מנתק צג חיצוני, או אפילו מעביר חלון של אפליקציה בין צגים, אובייקט Display
הבסיסי שמשויך להקשר או לחלון של האפליקציה יכול להשתנות. המאפיינים של המסך, כמו גודל, רזולוציה, קצב רענון, תמיכה ב-HDR וצפיפות, יכולים להיות שונים. לדוגמה, אם תגדירו ערכים בקוד לפי המסך של הטלפון, סביר להניח שהפריסות יתפרקו בתצוגה חיצונית.
גם לצפיפות הפיקסלים במסכים חיצוניים יכולות להיות הבדלים משמעותיים. חשוב לוודא שהאפליקציה מגיבה בצורה תקינה לשינויים בצפיפות. לשם כך, צריך להשתמש בפיקסלים שאינם תלויים בדחיסות (dp) בפריסות, לספק משאבים ספציפיים לדחיסות ולוודא ש-UI יתאים את עצמו בהתאם.
שימוש בהקשר הנכון
שימוש בהקשר הנכון הוא קריטי בסביבות עם כמה מסכים. כשאתם ניגשים למשאבים, הקשר הפעילות (שמוצג) שונה מהקשר האפליקציה (שלא מוצג).
הקשר הפעילות מכיל מידע על המסך, והוא תמיד מותאם לאזור התצוגה שבו הפעילות מופיעה. כך תוכלו לקבל את המידע הנכון על צפיפות המסך או על מדדי החלון של האפליקציה. תמיד צריך להשתמש בהקשר הפעילות (או בהקשר אחר שמבוסס על ממשק המשתמש) כדי לקבל מידע על החלון או המסך הנוכחיים. השינוי הזה משפיע גם על חלק מממשקי ה-API של המערכת שמשתמשים במידע מההקשר.
אחזור פרטי המסך
אפשר להשתמש בכיתה Display
כדי לקבל מידע על צג מסוים, כמו הגודל שלו או דגלים שמציינים אם הצג מאובטח. כדי לקבל את התצוגות הזמינות, משתמשים בשירות המערכת DisplayManager
:
val displayManager = getSystemService(Context.DISPLAY_SERVICE) as DisplayManager
val displays = displayManager.getDisplays()
ניהול ההפעלה וההגדרה של הפעילות
במסכים מחוברים, אפליקציות יכולות לציין באיזה מסך האפליקציה צריכה לפעול כשהיא מופעלת או כשהיא יוצרת פעילות אחרת. ההתנהגות הזו תלויה במצב ההפעלה של הפעילות שמוגדר בקובץ המניפסט, ובדגלים ובאפשרויות של הכוונה שהוגדרו על ידי הישות שמפעילה את הפעילות.
כשפעילות מועברת למסך משני, יכול להיות שתתבצע באפליקציה עדכון הקשר, שינוי גודל החלון ושינויים בהגדרות ובמשאבים. אם הפעילות מטפלת בשינוי ההגדרה, היא תקבל הודעה ב-onConfigurationChanged()
. אחרת, הפעילות תושק מחדש.
אם מצב ההפעלה שנבחר לפעילות מאפשר כמה מופעים, הפעלה במסך משני עשויה ליצור מופע חדש של הפעילות. שתי הפעילויות יחודשו בו-זמנית, מה שיכול להיות שימושי בתרחישים מסוימים של ביצוע משימות בו-זמנית.
אפשר להפעיל פעילות במסך מסוים באמצעות ActivityOptions
:
val options = ActivityOptions.makeBasic()
options.setLaunchDisplayId(targetDisplay.displayId)
startActivity(intent, options.toBundle())
הימנעות מרשימות היתרים של מכשירים
לפעמים אפליקציות מגבילות את ממשק המשתמש ואת התכונות של מסך גדול למכשירים נבחרים באמצעות רשימת ההיתרים או על ידי בדיקת גודל המסך המובנה. בגלל המסכים המחוברים, הגישה הזו כבר לא יעילה, כי כמעט כל מכשיר חדש יכול להתחבר למסך גדול. כדאי לעצב את האפליקציה כך שתהיה רספונסיבית ותתאים לגדלים ולדחיסות שונים של מסכים.
תמיכה בציוד היקפי חיצוני
כשמשתמשים מתחברים למסך חיצוני, הם יוצרים לרוב סביבה שדומה יותר למחשב. לרוב, הדבר כרוך בשימוש במקלדות, בעכברים, בלוחות מגע, במצלמות אינטרנט, במיקרופונים וברמקולים חיצוניים. עליכם לוודא שהאפליקציה פועלת בצורה חלקה עם ציוד ההיקפי הזה. הטיפול כולל טיפול במקשי קיצור, ניהול אינטראקציות של סמן העכבר, תמיכה נכונה במצלמות או במיקרופונים חיצוניים ותמיכה במסלול של פלט האודיו. פרטים נוספים זמינים במאמר תאימות קלט במסכים גדולים.
שיפור הפרודוקטיביות של המשתמשים
מסכים מחוברים מספקים הזדמנות משמעותית לשיפור הפרודוקטיביות של המשתמשים. עכשיו יש לכם את הכלים לפתח אפליקציות לנייד שיכולות לספק חוויה דומה לאפליקציות למחשב. כדי לשפר את הפרודוקטיביות של המשתמשים, כדאי להטמיע את התכונות הבאות:
- לאפשר למשתמשים לפתוח כמה מופעים של אותה אפליקציה. התכונה הזו מועילה מאוד למשימות כמו השוואת מסמכים, ניהול שיחות שונות או צפייה בכמה קבצים בו-זמנית.
- מאפשרים למשתמשים לשתף נתונים עשירים בתוך האפליקציה ומחוצה לה באמצעות גרירה ושחרור.
- כדי לעזור למשתמשים לשמור על תהליך העבודה שלהם גם אחרי שינויים בהגדרות, כדאי להטמיע מערכת ניהול מצב חזקה.
אם תפעלו לפי ההנחיות האלה ותשתמשו בדוגמאות הקוד שסופקו, תוכלו ליצור אפליקציות שתתאימות בצורה חלקה למסכים מחוברים, וכך לספק למשתמשים חוויה עשירה ויעילה יותר.