תצוגה מקצה לקצה מאפשרת לאפליקציה לרנדר את ממשק המשתמש שלה מאחורי סרגלי המידע – שורת הסטטוס, סרגל הכתוביות וסרגל הניווט – כדי ליצור חוויית משתמש סוחפת יותר. אם אתם מטרגטים מכשירים עם Android 15 (רמת API 35) ומעלה, התצוגה מקצה לקצה נאכפת כברירת מחדל.
כדי להציג תוכן מקצה לקצה בכל הגרסאות של Android, צריך לבצע את שלבי ההגדרה האלה. אם לא תבצעו את השלבים האלה, יכול להיות שהאפליקציה תציג צבעים אחידים מאחורי סרגלי המידע או שלא תציג אנימציה של התוכן שלה באופן סינכרוני עם המעברים של המקלדת הווירטואלית (IME).
כישורים ב-Android
הצגה ב-GitHubהוספת תמיכה בתצוגה מקצה לקצה
android skills add edge-to-edge1. הפעלת תצוגה מקצה לקצה
כדי להפעיל את התצוגה מקצה לקצה בגרסאות קודמות של Android, צריך להפעיל את enableEdgeToEdge() בשיטה Activity.onCreate():
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() // ... }
כברירת מחדל, enableEdgeToEdge() הופך את סרגלי המידע לשקופים, למעט במצב ניווט ב-3 כפתורים, שבו הוא מוסיף שכבת מסך שקופה לסרגל הניווט כדי לשפר את הניגודיות. הצבע של סמלי המערכת והמסך החצי שקוף מותאם לעיצוב הבהיר או הכהה של המערכת.
2. הגדרת windowSoftInputMode
מגדירים את android:windowSoftInputMode="adjustResize" ברשומה של AndroidManifest.xml בפעילות. ההגדרה הזו מאפשרת לאפליקציה לקבל שוליים פנימיים של IME, וכך לשנות את הפריסה באמצעות ריווח כשהמקלדת הווירטואלית מופיעה או נעלמת.
<!-- In your AndroidManifest.xml file: -->
<activity
android:name=".ui.MainActivity"
android:label="@string/app_name"
android:windowSoftInputMode="adjustResize"
android:theme="@style/Theme.MyApplication"
android:exported="true">
...
</activity>
3. איך מטפלים בחפיפות באמצעות תמונות ממוזערות
אחרי שמפעילים את התצוגה מקצה לקצה, יכול להיות שחלק מהתוכן ומרכיבי ממשק המשתמש של האפליקציה יוצגו מאחורי סרגלי המידע. כדי למנוע מצב שבו סרגלי המידע מסתירים רכיבים חשובים או אינטראקטיביים, או חופפים לתנועות המערכת, צריך לטפל בשוליים הפנימיים.
ההגדרות של התמונות הממוזערות מתארות חלקים במסך שחופפים לממשק המשתמש של המערכת או למחוות של המערכת. הסוגים העיקריים של חלונות קטנים שצריך לקחת בחשבון כשמציגים תוכן מקצה לקצה הם:
- שוליים פנימיים של סרגלי מידע: מייצגים אזורים שבהם מוצגים סרגלי מידע. כדאי להשתמש בהם כדי למנוע מצב שבו סרגלי המידע מסתירים את ממשק המשתמש.
- שוליים פנימיים של מגרעת במסך: מייצגים אזורים שבהם יש מגרעת פיזית (כמו מגרעת למצלמה) במסך המכשיר.
במצב כתיבה, אפשר להגדיר שוליים פנימיים באמצעות סרגלים, משני שוליים פנימיים או משני גודל שוליים פנימיים. הדרכה מפורטת זמינה במאמר מידע על שוליים פנימיים של חלונות.
נושאים מתקדמים
כדאי להביא בחשבון את הדברים הבאים לתרחישי שימוש מתקדמים יותר מקצה לקצה.
מצב עשיר
חלק מהתוכן, כמו סרטונים או מפות, נהנה מחוויה עשירה שבה סרגלי המערכת מוסתרים. אפשר להסתיר את סרגלי המערכת באמצעות
WindowInsetsControllerCompat:
val windowInsetsController = WindowCompat.getInsetsController(window, window.decorView) // Hide the system bars. windowInsetsController.hide(WindowInsetsCompat.Type.systemBars()) // Show the system bars. windowInsetsController.show(WindowInsetsCompat.Type.systemBars())
הצבעים והסמלים של סרגל המערכת
כשמציגים את האפליקציה מקצה לקצה, יכול להיות שצבע הרקע שלה ייראה מאחורי סרגלי המידע, ולכן כדאי לשנות את צבעי הסמלים בסרגלי המידע כדי לשפר את הניגודיות.
כדי לשנות את הסמלים בסרגל הסטטוס לבהירים או לכהים, משתמשים בWindowInsetsControllerCompat:
// Set status bar icons to dark. WindowCompat.getInsetsController(window, window.decorView) .isAppearanceLightStatusBars = true // Set status bar icons to light. WindowCompat.getInsetsController(window, window.decorView) .isAppearanceLightStatusBars = false
הגנה על סרגל המידע
enableEdgeToEdge() מספק סרגלי מידע שקופים או שקופים למחצה כברירת מחדל, אבל יכול להיות שתצטרכו להתאים אותם אישית. כדי להחליט מתי להשתמש בסרגלים שקופים ומתי בסרגלים שקופים למחצה, כדאי לעיין בהנחיות לעיצוב סרגלי מערכת ב-Android ובהנחיות לעיצוב מקצה לקצה.
כדי להפוך את ניווט ב-3 כפתורים לשקוף לחלוטין במקום שקוף למחצה, אפשר להשבית את האכיפה של הניגודיות:
window.isNavigationBarContrastEnforced = false
מידע נוסף זמין במאמר בנושא הגנה על סרגל המערכת.