תמיכה בטאבלטים ובמסכים גדולים

Android 13 משפר את Android במסכים גדולים

מערכת Android 13 מתבססת על אופטימיזציות הטאבלטים שהוצגו ב-Android 12 וההשקה של הפיצ'ר 12L, כולל אופטימיזציות לממשק המשתמש של המערכת, ריבוי משימות משופר ומצבי תאימות משופרים. כחלק מהבדיקה, חשוב לוודא שהאפליקציות שלכם נראות במיטבן בטאבלטים ובמכשירים אחרים עם מסך גדול.

כדי להתחיל, מגדירים מכשיר וירטואלי לאמולטור Android ב-Android Studio או מקבלים את Android 13 למכשיר עם מסך גדול מיצרני המכשירים השותפים שלנו.

אם אתם רק מתחילים לפתח מסכים גדולים, כדאי לעיין במדריכים בנושא מסכים גדולים ומכשירים מתקפלים כדי לקרוא את ההנחיות והשיטות העדכניות ביותר ליצירת חוויות מעולות במכשירים האלה.

ריכזנו כאן את החידושים ורעיונות לבדיקה של האפליקציה.

מערכת הפעלה שמותאמת למסכים גדולים

ממשק המשתמש של המערכת יפה יותר ועכשיו קל יותר להשתמש בו במסכים גדולים – בהתראות, בהגדרות המהירות, במסך הנעילה, בסקירה הכללית, במסך הבית ועוד.

במסכים גדולים, לוח ההתראות מנצל את השטח להצגת הגדרות מהירות והתראות בפריסה חדשה של שתי עמודות. בנוסף, במסך הנעילה נעשה שימוש בפריסה גדולה יותר של שתי עמודות כדי להבליט את ההתראות ואת השעון, וגם אפליקציות מערכת כמו 'הגדרות' עברו אופטימיזציה.

בפריסת מסך גדול מוצג יותר תוכן בפריסת שתי עמודות.

שינויים אחרים מתמקדים בשיפור האינטראקציות העיקריות במסכים גדולים יותר. לדוגמה, קו ביטול הנעילה של מסך הנעילה ופקדי ה-PIN בטאבלטים מוצגים עכשיו בצד המסך כדי לאפשר גישה קלה יותר, והמשתמשים יכולים פשוט להקיש על הצד השני של המסך כדי להעביר את פקדי הסיכה/הקו ביטול נעילה לצד זה.

במכשירים מתקפלים, המערכת מבצעת אופטימיזציה לרשת של מסך הבית ומלטשת את המעבר בתצוגה המתקפלת, כך שהמשתמשים עוברים בצורה חלקה ממסך חיצוני אחד למסך פתוח גדול יותר. כך המערכת משפרת את ההמשכיות תוך שמירה על הבחירות שלהם.

למפתחים: שינוי בהקרנת מדיה

החל מגרסה 12L, כשהמסך הווירטואלי מנוהל על פני השטח, הוא מותאם לגודל השטח באמצעות תהליך דומה לאפשרות centerInside של ImageView.

הגישה החדשה לשינוי הגודל משפרת את העברת המסך לטלוויזיות ולמסכים גדולים אחרים, על ידי הגדלת גודל התמונה על המסך תוך שמירה על יחס הגובה-רוחב הנכון.

פרטים נוספים זמינים במאמר הקרנת מדיה במסכים גדולים.

מולטיטסקינג יעיל ואינטואיטיבי

לרוב, המשתמשים מבצעים כמה משימות בו-זמנית כשהם משתמשים במסכים גדולים של טאבלטים, מכשירי Chromebook ומכשירים מתקפלים. תכונות פרודוקטיביות חדשות הופכים את ריבוי המשימות ליותר חזק ואינטואיטיבי.

סרגל משימות חדש שמאפשר להפעיל אפליקציות ולעבור ביניהם בזמן אמת בקלות. בעזרת תנועות אפשר להשתמש בסרגל האפליקציות מהר יותר. אפשר לגרור אפליקציות ולשחרר אותן כדי להיכנס למצב מסך מפוצל, ולהחליק למעלה כדי לחזור למסך הבית. בניווט באמצעות תנועות, תנועת מעבר מהירה מאפשרת למשתמשים לדפדף באפליקציות האחרונות. המשתמשים יכולים לחשוף או להסתיר את סרגל האפליקציות בכל שלב באמצעות לחיצה ארוכה.

סרגל האפליקציות מאפשר למשתמשים להפעיל אפליקציות ולהחליף אותן מהר יותר, גוררים ומשחררים אותן כדי להיכנס למצב מסך מפוצל, ומחליקים למעלה כדי לחזור למסך הבית.

הפעלת אפליקציות במצב מסך מפוצל היא דרך פופולרית לביצוע משימות מרובות בו-זמנית, ועכשיו קל יותר מתמיד לגלות את התכונה הזו ולהשתמש בה. עכשיו המשתמשים יכולים לגרור ולשחרר את האפליקציות המועדפות שלהם למסך מפוצל ישירות מסרגל האפליקציות, או להשתמש בפעולה החדשה 'פיצול' בסקירה הכללית כדי להפעיל את מצב המסך המפוצל בנגיעה.

כדי לספק למשתמשים חוויה עקבית יותר של המסך המפוצל, מערכת Android 12 ואילך מאפשרת לכל האפליקציות לעבור למצב ריבוי חלונות, גם אם הן ניתנות לשינוי גודל.

למפתחים: בדיקת האפליקציות במצב מסך מפוצל

כשמצב המסך המפוצל הופך לנגיש יותר, והשינוי ב-Android 12 שמאפשר למשתמשים להפעיל את כל האפליקציות למסך מפוצל, מומלץ מאוד לבדוק את האפליקציות במצב מסך מפוצל.

למפתחים: טיפול בשינויים דינמיים בגדלים של התמונות המוטמעות

סרגל האפליקציות החדש מדווח לאפליקציות בתור Inset, למרות שלא הושק ממשק API חדש.

כשמשתמשים בניווט באמצעות תנועות, אפשר להסתיר את סרגל האפליקציות ולהציג אותו באופן דינמי. אם האפליקציה שלכם כבר משתמשת במידע על החלק המוצג כדי לצייר את ממשק המשתמש שלה, היא צריכה להביא בחשבון את האפשרות שהגודל של החלק המוצג ישתנה בזמן שהאפליקציה נמצאת במצב 'המשך'. במקרים כאלה, האפליקציה צריכה להפעיל את setOnApplyWindowInsetsListener ולטפל בשינויים במימדים של התוספת, כפי שמתואר בקטע תוספות לסרגלי המערכת.

חוויית תאימות משופרת

אפליקציות רבות כבר מותאמות למכשירים עם מסך גדול, ומציעות חוויית שימוש נהדרת באמצעות פריסות רספונסיביות, תמיכה במצב של חלונות מרובים, המשכיות בין גודלי המסך ושינויים בתנוחת המכשיר ועוד.

באפליקציות שעדיין לא בוצעה אופטימיזציה שלהן, המערכת כוללת שיפורים חזותיים ויציבות במצב התאימות כדי לספק למשתמשים חוויה טובה יותר ולשפר את המראה של האפליקציות האלה כברירת מחדל.

שיפורים במצב התאימות משפרים את חוויית המשתמש באפליקציות שלא מותאמות למסכים גדולים.

כדי לשפר את ממשק המשתמש של פורמט letterbox, יצרני המכשירים יכולים להתאים אישית מספר אפשרויות באמצעות הגדרות שכבת-על. לדוגמה, יצרני מכשירים יכולים עכשיו להגדיר את יחס הגובה-רוחב של האפליקציה, להחיל פינות מעוגלות על חלון האפליקציה ולהגדיר את השקיפות של שורת הסטטוס.

למפתחים: בדיקת האפליקציות במצב תאימות

אם האפליקציה עדיין לא עברה אופטימיזציה כך שהיא תתאים לגודל המסך ולשינויים במיקום המכשיר, יכול להיות שהאפליקציה תושק במצב תאימות. מומלץ לבדוק את האפליקציה במצבי תאימות כדי לוודא שהיא נראית ופועלת כמו שצריך.

פרטים נוספים זמינים במאמר שיפור של letterboxing.

זיהוי משופר של כף היד

מסכים גדולים הם משטחים אידיאליים להזנת נתונים בעזרת עט. עם זאת, כשמשתמשים מציירים, כותבים או מבצעים פעולות באפליקציה באמצעות סטיילוס, לפעמים הם נוגעים במסך בכף היד. אפשר לדווח לאפליקציה על אירוע המגע לפני שהמערכת מזהה את האירוע ומתעלמת ממנו כנגיעה שגויה בכף היד.

לפני Android 13 (רמת API ‏33), המערכת ביטלה אירועי מגע בכף היד על ידי שליחת אירוע MotionEvent עם ACTION_CANCEL. Android 13 משפר את זיהוי הדחייה של כף היד על ידי הוספה של FLAG_CANCELED לאובייקט של אירוע התנועה.

אם מגע כף היד הוא היחיד שמצביע על אירוע מגע, המערכת מבטלת את האירוע על ידי הגדרת ACTION_CANCEL ו-FLAG_CANCELED באובייקט של אירוע התנועה. אם מצביעים אחרים לא נמצאים, Android 13 מגדיר את ACTION_POINTER_UP ואת FLAG_CANCELED.

למפתחים: עדכון של פונקציות ה-event listener והגורמים המטפלים באירועי מגע

ב-Android 12 (רמת API 32) ובגרסאות ישנות יותר, אפשר לזהות דחיית כף יד רק באירועי מגע עם נקודה אחת. אם מגע כף היד הוא הסמן היחיד, המערכת מבטלת את האירוע על ידי הגדרת ACTION_CANCEL באובייקט של אירוע התנועה. אם יש מצבעים אחרים שמופעלים, המערכת מגדירה את הערך ACTION_POINTER_UP, שהוא לא מספיק לזיהוי דחייה של כף היד. בכל מקרה, FLAG_CANCELED לא מוגדר.

ב-Android 13, צריך לעדכן את המאזינים לאירועי מגע ואת ה-handlers של אירועי מגע כדי לבדוק אם יש FLAG_CANCELED כשמתקבלים ACTION_POINTER_UP, כדי להבטיח דחייה של כף היד ואירועים אחרים שבוטלו ויטופלו.

עוד עדכונים ומקורות מידע למסכים גדולים

שינויים ב-Google Play במסכים גדולים

כדי לעזור למשתמשים למצוא בקלות את חוויית השימוש הטובה ביותר באפליקציות בטאבלטים, במכשירים מתקפלים ובמכשירי ChromeOS, ביצענו שינויים ב-Google Play כדי להבליט אפליקציות שעברו אופטימיזציה למכשירים שלהם.

הוספנו בדיקות חדשות כדי להעריך את האיכות של כל אפליקציה בהתאם להנחיות האיכות שלנו לאפליקציות למסכים גדולים, כדי להבטיח ש-Google Play יציג את האפליקציות הטובות ביותר האפשריות במכשירים האלה. אם אפליקציה לא מותאמת למסכים גדולים, עכשיו משתמשים עם מסך גדול רואים הודעה בדף האפליקציה בחנות Play, שתעזור להם למצוא את האפליקציות המתאימות ביותר למכשיר שלהם.

ב-Play משיקים גם דירוגים ספציפיים למסכים גדולים, כפי שהודענו לראשונה באוגוסט 2021, כדי שמשתמשים יוכלו לדרג את אופן הפעולה של האפליקציה במכשירים עם מסך גדול.

הטמעת פעילות באמצעות Jetpack WindowManager

הטמעת פעילויות מאפשרת לכם לנצל את שטח התצוגה הנוסף במסכים גדולים על ידי הצגת כמה פעילויות בו-זמנית, למשל בדפוס 'רשימת פרטים', בלי צורך בשינוי מבני משמעותי באפליקציה. אתם קובעים איך האפליקציה תציג את הפעילויות שלה – זה לצד זה או מוערמות – על ידי יצירת קובץ תצורה מסוג XML או שליחת קריאות ל-Jetpack WindowManager API. המערכת תטפל בכל השאר ותקבע את המצגת בהתאם להגדרות שיצרתם. אם באפליקציה שלכם נעשה שימוש בכמה פעילויות, מומלץ לנסות הטמעת פעילויות. למידע נוסף, ראו הטמעת פעילות.

בקשה לקבלת כיוון המכשיר

בניגוד לטלפונים רגילים, בטאבלטים ובמכשירים מתקפלים משתמשים לעיתים קרובות גם במצב לאורך וגם במצב לרוחב. לרוב, טאבלטים מוצמדים במצב לרוחב, ואילו מכשירי טלפונים מתקפלים יכולים להיות מוצמדים במצב שבו הם מקופלים.

אפליקציות מסוימות מבקשות כיוון קבוע לאורך או לרוחב, ומצפות להישאר בכיוון המועדף עליהן ללא קשר לכיוון של המכשיר (ראו מאפיין המניפסט screenOrientation). האפשרות הזו עדיין נתמכת, אבל יצרני המכשירים יכולים לשנות את הבקשה של האפליקציה לגבי כיוון מועדף.

במכשירי Android מגרסה 12 (API ברמה 31) ואילך, יצרני מכשירים יכולים להגדיר מסכים נפרדים של מכשירים (כמו מסך בגודל טאבלט של מכשיר מתקפל) כך שיתעלם ממפרט הכיוון של האפליקציה, ולאלץ הצגת אפליקציה בפריסה לאורך, אבל בפורמט letterbox במסכים לרוחב. התעלמות מהמפרט מאפשרת ל-Android לעזור למפתחים להשיג את המטרה שלהם – להציג את האפליקציה תמיד ביחס גובה-רוחב קבוע, תוך שמירה על כיוון האפליקציה לצורך נוחות שימוש אופטימלית.

עם זאת, כדי לספק למשתמשים את חוויית השימוש הטובה ביותר, כדאי לעצב את האפליקציות עם פריסות דינמיות שמנצלות את כל שטח המסך הזמין בכיוון לאורך ובכיוון לרוחב במסכים גדולים מ-600dp.

איך מקבלים את Android 13 במכשיר שותף עם מסך גדול

שיתפנו פעולה עם יצרני המכשירים השותפים שלנו, כדי שאפשר יהיה לנסות את Android 13 במכשירים עם מסך גדול. תוכלו לבקר באתרים הבאים כדי לראות רשימה של המכשירים שלהם שמתאימים לשימוש במסכים גדולים ולקבל פרטים על גרסאות הבטא הזמינות.

לקבלת עדכונים ותמיכה, אפשר לעיין במשאבים שאליהם כל יצרן מכשיר קישר באתר שלו ל-Android 13 Beta. חשוב לזכור שכל שותף יספק לכם את עדכוני הבטא ישירות, ויטפל בעצמו בהרשמות ובתמיכה.

מה צריך לבדוק

לפני שמתחילים את הבדיקה, צריך להגדיר מכשיר וירטואלי למהדורת Android Emulator ב-Android Studio, או לקבל את Android 13 במכשיר עם מסך גדול משותפי יצרני המכשירים שלנו. בסיום הגדרת המכשיר, כדאי לבדוק את האפליקציה באמצעות כמה תרחישים נפוצים לדוגמה במסכים גדולים כדי לוודא שהאפליקציה מגיבה באופן הרצוי. ריכזנו כאן כמה תחומים מומלצים, עם קישורים לפרטים נוספים על מקורות מידע קשורים שיכולים לעזור לכם לבצע אופטימיזציה של האפליקציה למסכים גדולים:

מה צריך לבדוק משאבים
גדלי מסך, תנוחת המכשיר וסיבוב

בודקים איך האפליקציה מגיבה כשגודל המסך משתנה בגלל שינויים בתנוחת המכשיר (למשל, פתיחת מכשיר מתקפל או הצבתו במצב 'על משטח, מסך למעלה'). בנוסף, כדאי לנסות לסובב את המכשיר בכל אחד מהמצבים האלה כדי לוודא שהאפליקציה מגיבה בצורה אופטימלית.

מסמכי תיעוד טעימות Codelabs שיחות טכניות
אינטראקציה עם סרגל האפליקציות ומצב מסך מפוצל

כדאי לבדוק איך האפליקציה מגיבה כשהיא מוצגת עם סרגל האפליקציות במסכים גדולים. בודקים שסרגל האפליקציות לא חוסם או חותך את ממשק המשתמש של האפליקציה, מנסים להיכנס ולצאת ממצבים של מסך מפוצל ומספר חלונות באמצעות סרגל האפליקציות, ובודקים מעבר מהיר בין האפליקציה לאפליקציות אחרות באמצעות סרגל האפליקציות.

אם לאפליקציה יש כיוון קבוע ואי אפשר לשנות את הגודל שלה, כדאי לבדוק איך האפליקציה מגיבה לשינויים במצב התאימות, כמו שינוי לפורמט letterbox.

מסמכי תיעוד טעימות שיחות טכניות
מצב ריבוי חלונות

כדאי לבדוק איך האפליקציה מגיבה כשהיא פועלת במצב חלונות מרובים במסכים גדולים (sw >= 600dp), במיוחד אם האפליקציה מגדירה את הערך resizeableActivity="false".

אם האפליקציה שלכם מגדירה את הערך resizeableActivity="true", חשוב גם לבדוק איך האפליקציה מגיבה כשהיא פועלת במצב חלונות מרובים במסכים קטנים (sw < 600dp).

אם באפליקציה שלך נעשה שימוש בממשקי API לרשת המדיה כמו Display.getRealSize() ו-Display.getRealMetrics(), צריך להשתמש בממשקי ה-API של WindowMetrics בספריית Jetpack WindowManager במקום זאת.

מסמכי תיעוד טעימות שיחות טכניות
הקרנת מדיה

אם האפליקציה שלכם משתמשת בהקרנת מדיה, כדאי לבדוק איך האפליקציה מגיבה במהלך הפעלה, סטרימינג או העברה (cast) של מדיה במכשירים עם מסך גדול. חשוב גם להביא בחשבון שינויים בתנוחת המכשיר במכשירים מתקפלים.

מסמכי תיעוד טעימות שיחות טכניות
תצוגה מקדימה של המצלמה

כשמדובר באפליקציות מצלמה, אפשר לבדוק איך ממשק המשתמש של התצוגה המקדימה של המצלמה מגיב במסכים גדולים כשהאפליקציה מוגבלת לחלק מהמסך במצב של מספר חלונות או מסך מפוצל. כדאי גם לבדוק איך האפליקציה מגיבה כשהתנוחה של מכשיר מתקפל משתנה.

מסמכי תיעוד