קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
כדי להפעיל את התצוגה מקצה לקצה באפליקציה, צריך לקרוא ל-enableEdgeToEdge.
ההגדרה הזו אמורה להספיק לרוב האפליקציות. במדריך הזה מוסבר איך להפעיל את התכונה 'תצוגה מקצה לקצה' אם האפליקציה צריכה לעשות זאת בלי להשתמש ב-enableEdgeToEdge.
כשמשתמשים בפריסה מקצה לקצה, האפליקציה צריכה לשנות את הצבעים של סרגלי המערכת כדי שהתוכן שמתחתיהם יהיה גלוי. אחרי שהאפליקציה מבצעת את השלב הזה, המערכת מטפלת בכל ההגנה החזותית של ממשק המשתמש במצב ניווט באמצעות מחוות ובמצב לחצנים.
מצב ניווט באמצעות מחוות: המערכת מחילה התאמה דינמית של הצבעים, כך שהתוכן של סרגלי המערכת משנה את הצבע בהתאם לתוכן שמאחוריהם. בדוגמה הבאה, ידית האחיזה בסרגל הניווט משתנה לצבע כהה כשהיא מעל תוכן בהיר, ולצבע בהיר כשהיא מעל תוכן כהה.
איור 1. שינויי צבע במצב ניווט באמצעות תנועות.
מצב לחצן: המערכת מחילה מסך חצי שקוף מאחורי סרגלי המערכת (לרמת API 29 ומעלה) או סרגל מערכת שקוף (לרמת API 28 ומטה).
איור 2. מיסוך שקוף מאחורי סרגלי המערכת.
צבע התוכן בשורת הסטטוס: מגדיר את הצבע של התוכן בשורת הסטטוס, כמו השעה והסמלים.
איור 3. צבע התוכן בשורת הסטטוס.
אפשר לערוך את הקובץ themes.xml כדי להגדיר את הצבע של סרגל הניווט, ואם רוצים, להגדיר את שורת המצב כשקופה ואת צבע התוכן של שורת המצב כהה.
אפשר להשתמש ישירות ב-API WindowInsetsController, אבל מומלץ מאוד להשתמש בספריית התמיכה WindowInsetsControllerCompat כשזה אפשרי. אפשר להשתמש ב-WindowInsetsControllerCompat API במקום ב-theme.xml כדי לשלוט בצבע התוכן של סרגל הסטטוס. כדי לעשות את זה, משתמשים בפונקציה
setAppearanceLightNavigationBars()
ומעבירים את הערך true כדי לשנות את צבע החזית של הניווט לצבע בהיר, או את הערך false כדי לחזור לצבע ברירת המחדל.
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-08-27 (שעון UTC).
[null,null,["עדכון אחרון: 2025-08-27 (שעון UTC)."],[],[],null,["You can enable the edge-to-edge display in your app by calling\n[`enableEdgeToEdge`](/reference/androidx/activity/ComponentActivity#(androidx.activity.ComponentActivity).enableEdgeToEdge(androidx.activity.SystemBarStyle,androidx.activity.SystemBarStyle)).\nThis should be sufficient for most apps. This guide describes how to enable\nedge-to-edge if your app needs to do so without using `enableEdgeToEdge`.\n\nLay out your app in full screen\n\nUse [`WindowCompat.setDecorFitsSystemWindows(window,\nfalse)`](/reference/androidx/core/view/WindowCompat#setDecorFitsSystemWindows(android.view.Window,%20boolean))\nto lay out your app behind the system bars, as shown in the following code\nexample: \n\nKotlin \n\n```kotlin\noverride fun onCreate(savedInstanceState: Bundle?) {\n super.onCreate(savedInstanceState)\n WindowCompat.setDecorFitsSystemWindows(window, false)\n}\n```\n\nJava \n\n```java\n@Override\npublic void onCreate(Bundle savedInstanceState) {\n super.onCreate(savedInstanceState);\n WindowCompat.setDecorFitsSystemWindows(getWindow(), false);\n}\n```\n\nChange the color of the system bars\n\nWhen operating in an edge-to-edge layout, your app needs to change the colors of\nthe system bars to let the content underneath be visible. After your app\nperforms this step, the system handles all visual protection of the user\ninterface in gesture navigation mode and in button mode.\n\n- **Gesture navigation mode:** the system applies dynamic color adaptation in which the contents of the system bars change color based on the content behind them. In the following example, the handle in the navigation bar changes to a dark color when it's above light content and to a light color when it's above dark content.\n\n**Figure 1.** Color changes in gesture navigation mode.\n\n- **Button mode:** the system applies a translucent [scrim](https://m2.material.io/design/environment/surfaces.html#attributes) behind the system bars (for API level 29 or later) or a transparent system bar (for API level 28 or earlier).\n\n**Figure 2.** Translucent scrim behind system bars.\n\n- **Status bar content color:** controls the color of status bar content, such as the time and icons.\n\n**Figure 3.** Status bar content color.\n\nYou can edit the `themes.xml` file to set the color of the navigation bar and,\noptionally, to set the status bar as transparent and status bar content color as\ndark. \n\n \u003c!-- values-v29/themes.xml --\u003e\n \u003cstyle name=\"Theme.MyApp\"\u003e\n \u003citem name=\"android:navigationBarColor\"\u003e\n @android:color/transparent\n \u003c/item\u003e\n\n \u003c!-- Optional: set to transparent if your app is drawing behind the status bar. --\u003e\n \u003citem name=\"android:statusBarColor\"\u003e\n @android:color/transparent\n \u003c/item\u003e\n\n \u003c!-- Optional: set for a light status bar with dark content. --\u003e\n \u003citem name=\"android:windowLightStatusBar\"\u003e\n true\n \u003c/item\u003e\n \u003c/style\u003e\n\n| **Note:** If you prefer to disable automatic content protection on Android 10 (API level 29) or later, set [`android:enforceNavigationBarContrast`](/reference/android/view/Window#isNavigationBarContrastEnforced()), [`android:enforceStatusBarContrast`](/reference/android/view/Window#isStatusBarContrastEnforced()), or both to `false` in your theme.\n\nYou can use the\n[`WindowInsetsController`](/reference/android/view/WindowInsetsController) API\ndirectly, but we strongly recommend using the Support Library\n[`WindowInsetsControllerCompat`](/reference/androidx/core/view/WindowInsetsControllerCompat)\nwhere possible. You can use the `WindowInsetsControllerCompat` API instead of\n`theme.xml` to control the status bar's content color. To do so, use the\n[`setAppearanceLightNavigationBars()`](/reference/androidx/core/view/WindowInsetsControllerCompat#setAppearanceLightNavigationBars(boolean))\nfunction, passing in `true` to change the foreground color of the navigation to\na light color or `false` to revert to the default color. \n\nKotlin \n\n```kotlin\nval windowInsetsController =\n ViewCompat.getWindowInsetsController(window.decorView)\n\nwindowInsetsController?.isAppearanceLightNavigationBars = true\n```\n\nJava \n\n```java\nWindowInsetsControllerCompat windowInsetsController =\n ViewCompat.getWindowInsetsController(getWindow().getDecorView());\nif (windowInsetsController == null) {\n return;\n}\n\nwindowInsetsController.setAppearanceLightNavigationBars(true);\n```"]]