از inset ها در Views و Compose استفاده کنید

اگر برنامه شما شامل هر دو کد Compose و View است، ممکن است لازم باشد در مورد اینکه هر کدام از insetهای سیستم باید کدام را مصرف کنند، صریح باشید و مطمئن شوید که insetها به viewهای خواهر و برادر ارسال می‌شوند.

نادیده گرفتن درج‌های پیش‌فرض

ممکن است لازم باشد وقتی صفحه نمایش شما هم کدهای Views و هم Compose را در یک سلسله مراتب دارد، insetهای پیش‌فرض را لغو کنید. در این حالت، باید صریحاً مشخص کنید که کدام یک باید insetها را مصرف کند و کدام یک باید آنها را نادیده بگیرد.

برای مثال، اگر بیرونی‌ترین طرح‌بندی شما یک طرح‌بندی Android View است، باید insetها را در سیستم View مصرف کنید و برای Compose آنها را نادیده بگیرید. از طرف دیگر، اگر بیرونی‌ترین طرح‌بندی شما یک composable است، باید insetها را در Compose مصرف کنید و composableهای AndroidView را بر اساس آن padd کنید.

به طور پیش‌فرض، هر ComposeView تمام insets را در سطح مصرف WindowInsetsCompat مصرف می‌کند. برای تغییر این رفتار پیش‌فرض، AbstractComposeView.consumeWindowInsets روی false تنظیم کنید.

ارسال الحاق سازگار با نسخه‌های قبلی برای نماها

اگر برنامه شما حاوی کد Views است، ممکن است لازم باشد تأیید کنید که insetها در دستگاه‌هایی که اندروید ۱۰ (سطح API ۲۹) یا پایین‌تر را اجرا می‌کنند، به viewهای sibling ارسال می‌شوند. برای اطلاعات بیشتر به راهنمای edge-to-edge Views مراجعه کنید.

آیکون‌های نوار سیستم

فراخوانی enableEdgeToEdge تضمین می‌کند که رنگ آیکون‌های نوار سیستم با تغییر تم دستگاه به‌روزرسانی شوند.

هنگام استفاده از لبه به لبه، ممکن است لازم باشد رنگ آیکون‌های نوار سیستم را به صورت دستی به‌روزرسانی کنید تا با پس‌زمینه برنامه شما در تضاد باشند. به عنوان مثال، برای ایجاد آیکون‌های نوار وضعیت روشن:

کاتلین

WindowCompat.getInsetsController(window, window.decorView)
    .isAppearanceLightStatusBars = false

جاوا

WindowCompat.getInsetsController(window, window.getDecorView())
    .setAppearanceLightStatusBars(false);