مدیریت ناچ Notch صفحه در برنامه نویسی اندروید

از ناچ Notch برای اولین بار در گوشی آیفون X رونمایی شد منظورم همون بریدگی سیاه بالای صفحه می باشد. این طراحی کم کم به گوشی های اندرویدی هم منتقل شد و تا ماه اگوست 2018 حدود 16 گوشی از ناچ استفاده می کنند.

ناچ برای برنامه نویس های اندروید میتونه تقریبا دردسر ایجاد کنه چون قسمتی از صفحه و از دسترس خارج میکنه و طراحی برنامه به هم زده می شود پس خیلی مهم که بتونیم این ناچ و به شکلی مدیریت کنیم.

به دلیل Notch اندازه استاتوس بار به شکل زشتی بزرگ تر می شود در اپلیکیشنی که مینویسیم و به دلیل همین بزرگی قسمت های دیگه استاتوس بار که ناچ ندارند بدون استفاده باقی میماند که حس خوبی به آدم منقل نمی شود.

Notch
مدیریت ناچ Notch صفحه در برنامه نویسی اندروید

همچنین وقتی برنامه و فول اسکرین می کنیم هر دو طرف Notch سیاه می شود از این رو باز قسمتی بدون استفاده خواهیم داشت این رفتار بصورت پیش فرض در همه گوشی های دارای ناچ اتفاق میافتد.

خوشبختانه گوکل در اندروید Pie 9.0 با امکاناتی که ارائه داده است به جنگ این مشکل رفته :))

با استفاده از display cutout میتونیم مشکلی که با ناچ داریم و تا حد زیادی حل کنیم برای این کار در پوشه res یک پوشه جدید با نام values-v28 بسازید و فایل styles.xml و داخل آن کپی کنید سپس همین فایل را باز کنید و وارد قسمت تم اکتیویتی خود شوید یا یک تم جدید تعریف کنید و به شکل زیر از قابلیت cutout استفاده کنید.

<style name="ActivityTheme">
  <item name="android:windowLayoutInDisplayCutoutMode">
    shortEdges
  </item>
</style>

در استایل بالا برای آیتم ما از ویژگی shortEdges استفاده کردیم که خروجی به شکل زیر خواهد شد.

shortEdges
shortEdges

میبینید که دیگه موقع فول اسکرین شدن از قسمت سیاه صفحه خبری نیست.

استایل cutout سه ویژگی دارد که شامل

  • default
  • shortEdges
  • never

می باشد. حالت Never به طور کلی ناچ و از برنامه حذف می کند مانند تصویر زیر.

بررسی قابلیت view binding در اندروید استودیو

never
never

همچنین میتونید از متد getDisplayCutout() که مربوط به کلاس WindowInsets می باشد استفاده کنید تا بررسی کنید آیا هناصر صفحه با قسمت cutout تداخل دارند یا خیر.

برای سفارش طراحی اپلیکیشن میتوانید با من در ارتباط باشید.

یک پاسخ در مورد «مدیریت ناچ Notch صفحه در برنامه نویسی اندروید»

  • میثم دی 5, 1397 در 10:41 ب.ظ

    ممنون از مطالب خوبتون موفق باشید

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *