
از ناچ Notch برای اولین بار در گوشی آیفون X رونمایی شد منظورم همون بریدگی سیاه بالای صفحه می باشد. این طراحی کم کم به گوشی های اندرویدی هم منتقل شد و تا ماه اگوست ۲۰۱۸ حدود ۱۶ گوشی از ناچ استفاده می کنند.
ناچ برای برنامه نویس های اندروید میتونه تقریبا دردسر ایجاد کنه چون قسمتی از صفحه و از دسترس خارج میکنه و طراحی برنامه به هم زده می شود پس خیلی مهم که بتونیم این ناچ و به شکلی مدیریت کنیم.
به دلیل ناچ اندازه استاتوس بار به شکل زشتی بزرگ تر می شود در اپلیکیشنی که مینویسیم و به دلیل همین بزرگی قسمت های دیگه استاتوس بار که ناچ ندارند بدون استفاده باقی میماند که حس خوبی به آدم منقل نمی شود.

مدیریت ناچ Notch صفحه در برنامه نویسی اندروید
همچنین وقتی برنامه و فول اسکرین می کنیم هر دو طرف ناچ سیاه می شود از این رو باز قسمتی بدون استفاده خواهیم داشت این رفتار بصورت پیش فرض در همه گوشی های دارای ناچ اتفاق میافتد.
خوشبختانه گوکل در اندروید Pie 9.0 با امکاناتی که ارائه داده است به جنگ این مشکل رفته :))
با استفاده از display cutout میتونیم مشکلی که با ناچ داریم و تا حد زیادی حل کنیم برای این کار در پوشه res یک پوشه جدید با نام values-v28 بسازید و فایل styles.xml و داخل آن کپی کنید سپس همین فایل را باز کنید و وارد قسمت تم اکتیویتی خود شوید یا یک تم جدید تعریف کنید و به شکل زیر از قابلیت cutout استفاده کنید.
<style name="ActivityTheme"> <item name="android:windowLayoutInDisplayCutoutMode"> shortEdges </item> </style>
در استایل بالا برای آیتم ما از ویژگی shortEdges استفاده کردیم که خروجی به شکل زیر خواهد شد.

shortEdges
میبینید که دیگه موقع فول اسکرین شدن از قسمت سیاه صفحه خبری نیست.
استایل cutout سه ویژگی دارد که شامل
- default
- shortEdges
- never
می باشد. حالت Never به طور کلی ناچ و از برنامه حذف می کند مانند تصویر زیر.

never
همچنین میتونید از متد getDisplayCutout() که مربوط به کلاس WindowInsets می باشد استفاده کنید تا بررسی کنید آیا هناصر صفحه با قسمت cutout تداخل دارند یا خیر.
میثم
دی 5, 1397 - 10:41 ب.ظممنون از مطالب خوبتون موفق باشید