אפשר להפעיל את התצוגה מקצה לקצה באפליקציה באמצעות קריאה
enableEdgeToEdge
זה אמור להספיק לרוב האפליקציות. במדריך הזה מוסבר איך מפעילים את ההגדרה
מקצה לקצה אם האפליקציה צריכה לעשות זאת בלי להשתמש ב-enableEdgeToEdge
.
פריסת האפליקציה במסך מלא
שימוש ב-WindowCompat.setDecorFitsSystemWindows(window,
false)
לפרוס את האפליקציה מאחורי פסי המערכת, כמו שמוצג בקוד הבא
דוגמה:
Kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) WindowCompat.setDecorFitsSystemWindows(window, false) }
Java
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WindowCompat.setDecorFitsSystemWindows(getWindow(), false); }
שינוי הצבע של סרחי המערכת
כשמפעילים את האפליקציה בפריסה מקצה לקצה, צריך לשנות את הצבעים שלה את סרגלי המערכת כדי שניתן יהיה לראות את התוכן שמתחת. אחרי שהאפליקציה מבצעת את השלב הזה, המערכת מטפלת בכל ההגנה החזותית של ממשק המשתמש במצב ניווט באמצעות תנועות ובמצב לחצן.
- מצב ניווט באמצעות תנועות: המערכת מחילה התאמה דינמית של צבע שהצבע של סרגלי המערכת משתנה בהתאם לתוכן מאחורי הקלעים. אותם. בדוגמה הבאה, הכינוי בסרגל הניווט משתנה צבע כהה כאשר הוא מעל תוכן בהיר ולצבע בהיר כאשר הוא מעל תוכן כהה.
- מצב לחצן: המערכת מחילה מסך שקוף מאחורי שורת הסמל של המערכת (ברמת API 29 ואילך) או שורת סמל שקופה של המערכת (ברמת API 28 ואילך).
- צבע התוכן של שורת הסטטוס: קובע את הצבע של התוכן בשורת הסטטוס, כמו השעה והסמלים.
אפשר לערוך את הקובץ themes.xml
כדי להגדיר את הצבע של סרגל הניווט.
אופציונלי, כדי להגדיר את שורת הסטטוס כשקופה ואת צבע התוכן של שורת הסטטוס
כהה.
<!-- values-v29/themes.xml -->
<style name="Theme.MyApp">
<item name="android:navigationBarColor">
@android:color/transparent
</item>
<!-- Optional: set to transparent if your app is drawing behind the status bar. -->
<item name="android:statusBarColor">
@android:color/transparent
</item>
<!-- Optional: set for a light status bar with dark content. -->
<item name="android:windowLightStatusBar">
true
</item>
</style>
אפשר להשתמש
WindowInsetsController
API
באופן ישיר, אבל מומלץ מאוד להשתמש בספריית התמיכה.
WindowInsetsControllerCompat
כשהדבר אפשרי. אתם יכולים להשתמש ב-API של WindowInsetsControllerCompat
במקום
theme.xml
כדי לשלוט בצבע התוכן של שורת הסטטוס. כדי לעשות את זה, משתמשים
setAppearanceLightNavigationBars()
הפונקציה, מעבירה ב-true
כדי לשנות את הצבע הקדמי של הניווט אל
צבע בהיר או false
כדי לחזור לצבע ברירת המחדל.
Kotlin
val windowInsetsController = ViewCompat.getWindowInsetsController(window.decorView) windowInsetsController?.isAppearanceLightNavigationBars = true
Java
WindowInsetsControllerCompat windowInsetsController = ViewCompat.getWindowInsetsController(getWindow().getDecorView()); if (windowInsetsController == null) { return; } windowInsetsController.setAppearanceLightNavigationBars(true);