اگر برنامه شما حاوی هر دو کد 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);