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

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

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

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

به عنوان مثال، اگر بیرونی‌ترین طرح‌بندی شما یک طرح‌بندی Android View است، باید ورودی‌های موجود در سیستم View را مصرف کنید و آنها را برای Compose نادیده بگیرید. از طرف دیگر، اگر بیرونی‌ترین چیدمان شما قابل ترکیب است، باید ورودی‌ها را در Compose مصرف کنید و بر اساس آن، Composable‌های AndroidView را پاک کنید.

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

ارسال ورودی سازگار با عقب برای نماها

اگر برنامه شما حاوی کد Views است، ممکن است لازم باشد تأیید کنید که در دستگاه‌های دارای Android 10 (سطح API 29) یا پایین‌تر، ورودی‌ها به نماهای خواهر و برادر ارسال می‌شوند. برای اطلاعات بیشتر به راهنمای نماهای لبه به لبه مراجعه کنید.

نمادهای نوار سیستم

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

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

کاتلین

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

جاوا

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