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_SHORT_EDGES : Cutout 영역에서도 콘텐츠를 보여주겠다는 의미이며, 이 경우 모든 방향의 Cutout에서 콘텐츠가 잘 보인다.
- LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER : Cutout 영역을 사용하지 않게 된다. 이 경우 Cutout에서는 시계만 노출되거나, 아무것도 보이지 않을 수 있다.
https://soda1127.github.io/deep-dive-in-android-full-screen-3/
https://thdev.tech/android/2018/07/07/Android-P-Preview-ChangeLog/
728x90
반응형
'Android' 카테고리의 다른 글
android.hardware.usb.action.USB_ACCESSORY_ATTACHED (0) | 2024.01.23 |
---|---|
Android Swtich 스위치 ( 커스텀 ) (0) | 2024.01.11 |
Android AsyncTask => RxJava (0) | 2023.09.05 |
Android System Font Scale 수정하기 (0) | 2023.08.29 |
Android Edit Text 키보드 Show/Hide Event Listener (0) | 2023.08.29 |