<supports-screen>

תחביר:
<supports-screens android:resizeable=["true"| "false"]
                  android:smallScreens=["true" | "false"]
                  android:normalScreens=["true" | "false"]
                  android:largeScreens=["true" | "false"]
                  android:xlargeScreens=["true" | "false"]
                  android:anyDensity=["true" | "false"]
                  android:requiresSmallestWidthDp="integer"
                  android:compatibleWidthLimitDp="integer"
                  android:largestWidthLimitDp="integer"/>
בתוך:
<manifest>
תיאור:

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

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

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

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

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

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

הערה: ב-Android 3.2 נוספו מאפיינים חדשים: android:requiresSmallestWidthDp, android:compatibleWidthLimitDp ו-android:largestWidthLimitDp. אם מפתחים את האפליקציה ל-Android מגרסה 3.2 ואילך, השתמשו במאפיינים האלה כדי להצהיר על התמיכה בגודל המסך במקום המאפיינים בהתאם לגדלים כלליים של מסכים.

מידע על מצב תאימות מסך

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

בגרסאות Android 1.6 עד 3.1, המערכת מפעילה את האפליקציה ב'חותמת דואר' חלון. הוא אמולציה של מסך בגודל 320dp x 480dp עם גבול שחור שממלא את השטח הנותר של המסך.

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

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

:
android:resizeable
מראה אם ניתן לשנות את גודל האפליקציה למסכים בגדלים שונים. המאפיין הזה "true" כברירת מחדל. אם המדיניות מוגדרת לערך "false", המערכת תריץ את האפליקציה במצב תאימות למסך במכשירים גדולים מסכים.

המאפיין הזה הוצא משימוש. הוא נועד לעזור לאפליקציות מעבר מ-Android 1.5 ל-1.6, כאשר לראשונה הושקה תמיכה במספר מסכים. אין להשתמש בו.

android:smallScreens
מציין אם האפליקציה תומכת במשתנה 'קטן' גורמי צורה של מסכים. מסך קטן מוגדר כמסך עם יחס גובה-רוחב קטן יותר מ- הערכים ה"רגילים" או מסך HVGA מסורתי. אפליקציה שלא תמיכה במסכים קטנים אינה זמינה עבור מכשירים עם מסכים קטנים משירותים חיצוניים, כמו Google Play, כי יש הפלטפורמה יכולה לעשות זאת כדי שאפליקציה כזו תפעל על מסך קטן יותר. מדובר ב"true" של כברירת מחדל.
android:normalScreens
מציין אם אפליקציה תומכת במצב "רגיל" מסך גורמי צורה. בדרך כלל, מדובר בצפיפות בינונית של HVGA אבל צפיפות WQVGA נמוכה וצפיפות WVGA גבוהה. נחשבת לנורמלית. ערך המאפיין הזה הוא "true" כברירת מחדל.
android:largeScreens
מציינת אם האפליקציה תומכת בהגדרה 'גדולה' גורמי צורה של מסכים. מסך גדול מוגדר כמסך שגדול באופן משמעותי מאשר 'רגיל' מסך של המכשיר הנייד. לכן יכול להיות שזה ידרוש ממך טיפול מיוחד מצד האפליקציה כדי לנצל אותו בצורה טובה, למרות שהוא עשוי להסתמך על שינוי הגודל על ידי כדי למלא את המסך.

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

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

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

המאפיין הזה נוסף ברמת API 9.

android:anyDensity
מראה אם האפליקציה כוללת משאבים שמתאימים למסך כלשהו צפיפות.

במקרה של אפליקציות שתומכות ב-Android 1.6 (רמת API 4) ואילך, הערך הוא "true" כברירת מחדל. לא כדאי להגדיר את הערך "false", אלא אם אין לך ספק שזאת שנדרש כדי שהאפליקציה תפעל. הפעם היחידה שבה ייתכן שיהיה צורך להשבית את האפשרות הזו הוא אם האפליקציה מבצעת מניפולציות ישירות במפות סיביות. מידע נוסף זמין במאמר סקירה כללית על תאימות המסך.

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

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

לדוגמה, למסך טיפוסי של טלפון נייד יש smallestWidth של 320dp, ולטאבלט בגודל 7 אינץ' יש smallestWidth של 600dp, וטאבלט בגודל 10 אינץ' הוא smallestWidth של 720dp. בדרך כלל הערכים האלה smallestWidth, כי אלה המאפיין הקצר ביותר של השטח הזמין במסך.

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

אם האפליקציה שלך משנה את גודלה כראוי למסכים קטנים יותר, עד "קטן" גודל או רוחב מינימלי של 320dp, אין צורך להשתמש במאפיין הזה. אחרת, צריך להשתמש בערך בשביל המאפיין הזה תואם לערך הקטן ביותר שמשמש את האפליקציה עבור תוחם רוחב המסך הקטן ביותר (sw<N>dp).

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

המאפיין הזה נוסף ברמת API 13.

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

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

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

הערה: בשלב הזה, מצב תאימות מסך מדמה רק את המכשיר הנייד מסכים ברוחב 320dp, כך שמצב תאימות מסך לא חל אם הערך של android:compatibleWidthLimitDp גדול מ-320.

המאפיין הזה נוסף ברמת API 13.

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

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

הערה: בשלב הזה, מצב תאימות מסך מדמה רק את המכשיר הנייד מסכים ברוחב 320dp, כך שמצב תאימות מסך לא חל אם הערך של android:largestWidthLimitDp גדול מ-320.

המאפיין הזה נוסף ברמת API 13.

הושקו ב:
רמת API 4
למידע נוסף: