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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ריבוי משימות מתקדם ואינטואיטיבי

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

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

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

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

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

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

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

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

סרגל האפליקציות החדש מדווח לאפליקציות כ-inset, למרות שלא הוספנו API חדש ל-inset.

כשמשתמשים בסרגל האפליקציות עם ניווט באמצעות תנועות, אפשר להסתיר ולהציג אותו באופן דינמי. אם האפליקציה כבר משתמשת במידע על השוליים כדי להציג את ממשק המשתמש, היא צריכה להביא בחשבון את האפשרות שגודל השוליים עשוי להשתנות כשהאפליקציה במצב המשך. במקרים כאלה, האפליקציה צריכה להפעיל את setOnApplyWindowInsetsListener ולטפל בשינויים בממדים של ה-inset, כמו שמתואר בקטע System bars insets.

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

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

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

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

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

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

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

לפרטים נוספים, ראו התאמה משופרת של גודל המסך.

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

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

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

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

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

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

ב-Android 13, צריך לעדכן את רכיבי ה-event listener וה-event handler של אירועי המגע כדי לבדוק אם מתקבל 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) ומעלה, יצרני המכשירים יכולים להגדיר מסכים ספציפיים (כמו מסך בגודל של טאבלט במכשיר מתקפל) כך שיתעלמו מהגדרת הכיוון ויאלצו אפליקציה במצב לאורך להופיע בצורה אנכית, אבל עם פסי שוליים בתצוגות לרוחב. כשהמערכת מתעלמת מהמפרט, Android יכולה לשרת טוב יותר את כוונת המפתח להציג תמיד אפליקציה ביחס גובה-רוחב קבוע, תוך שמירה על כיוון האפליקציה לשימושיות אופטימלית.

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

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

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

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

מה לבדוק

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

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

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

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

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

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

מאמרי עזרה דוגמיות שיחות טכניות
מצב ריבוי חלונות

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

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

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

מאמרי עזרה דוגמאות שיחות טכניות
הקרנת מדיה

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

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

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

מאמרי עזרה