Android

Android cutout 영역 ( IOS의 노치 영역 )

Machine_웅 2023. 9. 6. 13:57
728x90
반응형

Display Cutout 지원

아이폰 X에서는 notch라 불리는 부분이 있는데 Android P에서도 이러한 부분을 추가하였다. 이름은 Notch가 아닌 Cutout이라 불린다. Android라고 이러한 부분을 피하지는 못하는 듯하고, 결국 하드웨어적인 이슈를 해결하기 전까지는 이러한 UI를 벗어나지는 못해 보인다. Cutout은 3 가지 옵션을 제공하는데 아래와 같다.

  • LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT : 필요에 따라 Cutout을 알아서 사용한다.
  • LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES : Cutout에서도 데이터를 표시한다.
  • LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER : Cutout 영역을 사용하지 않는다.

이러한 옵션은 Activity를 상속받은 클래스에서 아래와 같이 적용할 수이다.

window.attributes.layoutInDisplayCutoutMode =
 WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER

Android P 개발자 옵션 > Drawing > Simulate a display with a cutout에서 옵션 4 가지를 활성화해볼 수 있다.

  • None : 적용하지 않음
  • Corner display cutout : 오른쪽 코너에 적용
  • Double display cutout : 상/하단에 대한 Cutout 적용
  • Tall display cutout : 상단에 Cutout 적용

개발자 옵션에서는 Cutout의 3 가지 타입을 적용해볼 수 있다. 실제 기기에서는 더 다양한 방식으로 Cutout이 적용될 것 같은데 흔하겐 아이폰X의 노치 형태를 볼 수 있어 보인다. 아래 샘플은 개발자 옵션 샘플 중 Tall display cutout 적용 상태로 테스트한 것이다.

  • LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT : Cutout 영역을 Android Default로 처리한 상태이며, 가로로 누었을 때 아래와 같다. default인 경우 화면 방향에 따라서 Cutout 영역의 사용이 조금씩 다르게 보인다.

  • LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER : Cutout 영역을 사용하지 않게 된다. 이 경우 Cutout에서는 시계만 노출되거나, 아무것도 보이지 않을 수 있다.

https://soda1127.github.io/deep-dive-in-android-full-screen-3/

 

Deep Dive in Android Full Screen - 3 | 소다의 개발 블로그

안드로이드에서 Full Screen을 어떻게 다루어야 하는지 소개합니다.

soda1127.github.io

https://developer.android.com/reference/android/view/WindowManager.LayoutParams#layoutInDisplayCutoutMode

 

WindowManager.LayoutParams  |  Android Developers

 

developer.android.com

https://thdev.tech/android/2018/07/07/Android-P-Preview-ChangeLog/

 

Android P에서 달라지는 Behavior와 Features를 간단하게 살펴보자 |

I’m an Android Developer.

thdev.tech

 

728x90
반응형