استخدام الأجزاء المُدمَجة في "الملف الشخصي" و"الإنشاء"
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
إذا كان تطبيقك يحتوي على رمز Compose ورمز View، قد تحتاج إلى توضيح
مجموعة الحوافز التي يجب أن يستهلكها كل منهما والتأكّد من إرسال الحوافز إلى طرق العرض المتجاورة.
إلغاء الإعدادات التلقائية للحواف الداخلية
قد تحتاج إلى تجاهل الإعدادات التلقائية للحواف الداخلية عندما تحتوي شاشتك على كلٍّ من طرق العرض ورمز Compose في التسلسل الهرمي نفسه. في هذه الحالة، عليك تحديد أيّهما يجب أن يستخدم الحواف الداخلية وأيّهما يجب أن يتجاهلها.
على سبيل المثال، إذا كان التصميم الخارجي هو تصميم Android View، عليك استخدام الحواف في نظام View وتجاهلها في Compose.
بدلاً من ذلك، إذا كان التنسيق الخارجي عبارة عن عنصر قابل للإنشاء، عليك استخدام الحواف الداخلية في Compose، وتعبئة العناصر القابلة للإنشاء AndroidView
وفقًا لذلك.
بشكل تلقائي، يستهلك كل ComposeView
جميع الحوافز عند WindowInsetsCompat
مستوى الاستهلاك. لتغيير هذا السلوك التلقائي، اضبط قيمة
AbstractComposeView.consumeWindowInsets
على false
.
إرسال الحواف الداخلية المتوافقة مع الإصدارات القديمة للعناصر
إذا كان تطبيقك يحتوي على رمز برمجي خاص بـ Views، قد تحتاج إلى التأكّد من إرسال الحواف الداخلية إلى طرق العرض المتجاورة على الأجهزة التي تعمل بالإصدار 10 (المستوى 29 لواجهة برمجة التطبيقات) أو الإصدارات الأقدم من نظام التشغيل Android. لمزيد من المعلومات، راجِع
دليل "العروض من الحافة إلى الحافة".
رموز شريط النظام
يضمن استدعاء enableEdgeToEdge
تعديل ألوان رموز شريط النظام عند تغيير مظهر الجهاز.
عند الانتقال إلى وضع العرض من الحافة إلى الحافة، قد تحتاج إلى تعديل ألوان رموز شريط النظام يدويًا لكي تتباين مع خلفية تطبيقك. على سبيل المثال، لإنشاء رموز شريط الحالة ذات الخلفية الفاتحة، اتّبِع الخطوات التالية:
Kotlin
WindowCompat.getInsetsController(window, window.decorView)
.isAppearanceLightStatusBars = false
Java
WindowCompat.getInsetsController(window, window.getDecorView())
.setAppearanceLightStatusBars(false);
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-08-21 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-21 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Use insets in Views and Compose\n\nIf your app contains both Compose and View code, you may need to be explicit\nabout which system insets each one should consume and ensure that insets are\ndispatched to sibling views.\n\nOverriding default insets\n-------------------------\n\nYou may need to override default insets when your screen has both Views and\nCompose code in the same hierarchy. In this case, you need to be explicit in\nwhich one should consume the insets, and which one should ignore them.\n\nFor example, if your outermost layout is an Android View layout, you should\nconsume the insets in the View system and ignore them for Compose.\nAlternatively, if your outermost layout is a composable, you should consume the\ninsets in Compose, and pad the `AndroidView` composables accordingly.\n\nBy default, each `ComposeView` consumes all insets at the\n`WindowInsetsCompat` level of consumption. To change this default behavior, set\n[`AbstractComposeView.consumeWindowInsets`](/reference/kotlin/androidx/compose/ui/platform/AbstractComposeView#(androidx.compose.ui.platform.AbstractComposeView).consumeWindowInsets())\nto `false`.\n\nBackward compatible inset dispatching for views\n-----------------------------------------------\n\nIf your app contains Views code, you may need to confirm that insets are dispatched\nto sibling views on devices that run Android 10 (API level 29) or lower. See the\n[edge-to-edge Views guide](/develop/ui/views/layout/edge-to-edge#backward-compatible-dispatching)\nfor more information.\n\nSystem bar icons\n----------------\n\nCalling `enableEdgeToEdge` ensures system bar icon colors update when the device\ntheme changes.\n\nWhile going edge-to-edge, you might need to manually update the system bar icon\ncolors so they contrast with your app's background. For example, to create light\nstatus bar icons: \n\n### Kotlin\n\n```kotlin\nWindowCompat.getInsetsController(window, window.decorView)\n .isAppearanceLightStatusBars = false\n```\n\n### Java\n\n```java\nWindowCompat.getInsetsController(window, window.getDecorView())\n .setAppearanceLightStatusBars(false);\n```"]]