הפעלת enableEdgeToEdge
כוללת את הלוגיקה שנדרשת כדי להשיג תאימות לאחור, ולכן זו הדרך המומלצת להגדרת תצוגה מקצה לקצה. כדי ללמוד איך להשתמש ב-enableEdgeToEdge
כדי להציג את המסך מקצה לקצה בדרך המודרנית, כדאי לעיין במאמרי העזרה בנושא יצירת מסמכים ותצוגות במקום במדריך הזה.
אם האפליקציה שלכם חייבת להגדיר ידנית תצוגה מקצה לקצה (אבל לא מומלץ לעשות את זה), אתם יכולים לפעול לפי השלבים הבאים:
- רוצה להתקשר ל-
WindowCompat.setDecorFitsSystemWindows(window, false)
? - הגדרת הסרגלים של המערכת כשקופים.
- טיפול ב-insets.
פריסת האפליקציה במסך מלא
משתמשים ב-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); }
שינוי הצבע של סרגלי המערכת
כשיוצרים פריסה מקצה לקצה באופן ידני ב-Android 14 ובגרסאות קודמות, האפליקציה צריכה גם להפוך את סרגלי המערכת לשקופים.
אפשר לערוך את הקובץ 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>
אפשר להשתמש ב-WindowInsetsControllerCompat
API במקום ב-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);
טיפול בשוליים פנימיים
לבסוף, האפליקציה צריכה לטפל בתוספות שוליים כדי שממשק המשתמש הקריטי לא יחפוף לסרגלי המידע ולחלק החתוך של המסך. במאמרי העזרה בנושא יצירה ותצוגות אפשר לקרוא איך משתמשים בתמונות ממוזערות.