גזירי גזירה ב'כתיבה'

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

דוגמה לחיתוך בפריסה לאורך
איור 1. דוגמה לחיתוך בפורמט לאורך
דוגמה לחיתוך בפריסה לרוחב
איור 2. דוגמה לחיתוך התצוגה בפריסה לרוחב

מערכת Android תומכת בחלקים חתוכים במסך במכשירים עם Android מגרסה 9 (רמת API‏ 28) ואילך. עם זאת, יצרני המכשירים יכולים גם לתמוך בחלקים חתוכים במסך במכשירים עם Android מגרסה 8.1 ומטה.

בדף הזה מוסבר איך להטמיע תמיכה במכשירים עם חתכים ב-Compose, כולל איך לעבוד עם אזור החתך – כלומר, הריבוע שמשמש כמסך מלא ומכיל את החתך.

ברירת המחדל

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

אפליקציות שמטרגטות רמת API 35 ואילך במכשירים עם Android מגרסה 15 ואילך, או פעילויות שמפעילות את enableEdgeToEdge, מציירות באזור החתוך.

במילים אחרות, הערכים LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT,‏ LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES ו-LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER מפורשים כ-LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS בחלונות לא צפים באפליקציות שמטרגטות לרמת API 35 ואילך במכשירים עם Android מגרסה 15 ואילך.

טיפול ידני בפרטי החיתוך

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

ב-Compose, מומלץ להשתמש ב-displayCutout, ב-safeContent או ב-safeDrawing כדי לטפל בקטעי גזרה ברכיבים הניתנים לשילוב. הגישה הזו מאפשרת לכם להוסיף את הרווח הנדרש מסביב לחתוך המסך במקרים שבהם הוא נדרש, או להתעלם ממנו במקרים שבהם הוא לא נדרש.

Canvas(modifier = Modifier.fillMaxSize().windowInsetsPadding(WindowInsets.displayCutout)) {
    drawRect(Color.Red, style = Stroke(2.dp.toPx()))
}

בדיקת האופן שבו התוכן מוצג עם פריימים חתוכים

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

  1. מפעילים את אפשרויות למפתחים.
  2. במסך אפשרויות למפתחים, גוללים למטה לקטע Drawing ובוחרים באפשרות Simulate a display with a cutout.
  3. בוחרים את סוג החיתוך.
    סימולציה של מגרעת במסך באמולטור
    איור 3. אפשר להשתמש באפשרויות למפתחים כדי לבדוק איך התוכן מוצג.