אפליקציות ל-Android פועלות עכשיו במגוון מכשירים (כמו טלפונים, טאבלטים, מכשירים מתקפלים, מחשבים, מכוניות וטלוויזיות) ובמצבי תצוגת חלונות במסכים גדולים (כמו מסך מפוצל וממשק מחשב). לכן, מפתחים צריכים ליצור אפליקציות ל-Android שמותאמות לכל גודל מסך וחלון, בלי קשר לכיוון המסך במכשיר. פרדיגמות כמו הגבלת כיוון המסך והגבלת שינוי הגודל כבר לא מתאימות לעולם של היום, שבו משתמשים במספר מכשירים.
התעלמות מהגבלות על כיוון, שינוי גודל ויחס גובה-רוחב
באפליקציות שמטרגטות ל-Android 17 ומעלה, ההגבלות על כיוון, שינוי גודל ויחס גובה-רוחב לא חלות יותר על מסכים עם רוחב מינימלי של 600dp ומעלה. האפליקציות ממלאות את חלון התצוגה, בלי קשר ליחס הגובה-רוחב או להעדפת הכיוון של המשתמש, ולא נעשה שימוש בפורמט pillarbox.
ב-Android 17 הוסר הפתרון הזמני למפתחים לביטול ההסכמה להגבלות על שינוי הגודל והכיוון במכשירים עם מסך גדול, שהיה זמין ב-Android 16.
השינוי הזה מציג התנהגות חדשה של הפלטפורמה. מערכת Android עוברת למודל שבו האפליקציות צריכות להתאים את עצמן לכיוונים, לגדלים של מסכים וליחסי גובה-רוחב שונים. כיוון מסך קבוע או שינוי גודל מוגבל מקשים על התאמת האפליקציה. כדי לספק את חוויית המשתמש הטובה ביותר, צריך להתאים את האפליקציה למצבים שונים.
אפשר גם לבדוק את ההתנהגות הזו באמצעות מסגרת התאימות של האפליקציה והפעלת דגל התאימות UNIVERSAL_RESIZABLE_BY_DEFAULT.
שינויי תוכנה נפוצים שעלולים לגרום לכשלים
התעלמות מהגבלות על כיוון, שינוי גודל ויחס גובה-רוחב עלולה להשפיע על ממשק המשתמש של האפליקציה במכשירים מסוימים, במיוחד על רכיבים שנועדו לפריסות קטנות שמוגבלות לכיוון לאורך. לדוגמה, יכולות להיות בעיות באפליקציות כמו פריסות מתוחות ואנימציות ורכיבים מחוץ למסך. הנחות לגבי יחס הגובה-רוחב או הכיוון עלולות לגרום לבעיות חזותיות באפליקציה. מידע נוסף על איך להימנע מבעיות כאלה ולשפר את יכולת ההתאמה של האפליקציה למצבים שונים.
בעיה נפוצה במכשירים מתקפלים במצב אופקי או בחישובים של יחסי גובה-רוחב בתרחישים כמו חלונות מרובים, חלונות במחשב או צגים מחוברים, היא כשהתצוגה המקדימה של המצלמה מופיעה מתוחה, מסובבת או חתוכה. הבעיה הזו מתרחשת לעיתים קרובות במכשירים עם מסך גדול ובמכשירים מתקפלים, כי האפליקציות מניחות שיש קשר קבוע בין תכונות המצלמה (כמו יחס רוחב-גובה וכיוון החיישן) לבין תכונות המכשיר (כמו כיוון המכשיר והכיוון הטבעי). מידע נוסף על ניהול התצוגה המקדימה של המצלמה
כשמאפשרים סיבוב מכשיר, מתבצעות יותר יצירות מחדש של פעילויות, וזה עלול להוביל לאובדן מצב המשתמש אם הוא לא נשמר כראוי. במאמר שמירת מצבי ממשק המשתמש מוסבר איך לשמור אותם נכון.
פרטי ההטמעה
במכשירים עם מסך גדול במצב מסך מלא ובמצב ריבוי חלונות, המערכת מתעלמת ממאפייני המניפסט וממשקי ה-API של זמן הריצה הבאים:
screenOrientationresizableActivityminAspectRatiomaxAspectRatiosetRequestedOrientation()getRequestedOrientation()
המערכת מתעלמת מהערכים הבאים של screenOrientation, setRequestedOrientation() ושל getRequestedOrientation():
portraitreversePortraitsensorPortraituserPortraitlandscapereverseLandscapesensorLandscapeuserLandscape
לגבי שינוי הגודל של התצוגה, הערכים הבאים לא מושפעים: android:resizeableActivity="false",
android:minAspectRatio ו-android:maxAspectRatio.
חריגים
ההגבלות על כיוון, שינוי גודל ויחס גובה-רוחב ב-Android 17 לא חלות במקרים הבאים:
- משחקים (מבוססים על הדגל
android:appCategory) - משתמשים שמביעים הסכמה מפורשת לפעולת ברירת המחדל של האפליקציה בהגדרות יחס הגובה-רוחב של המכשיר
- מסכים שהרוחב הקטן ביותר שלהם קטן מ-
sw600dp