DBILITY

android WindowInsets Insets 본문

android

android WindowInsets Insets

DBILITY 2024. 11. 19. 10:51
반응형

View Inset은 UI 요소가 화면의 가장자리와 겹치는 부분을 조정하는 데 사용되는 개념.

주로 시스템 UI(예: 상태 표시줄, 내비게이션 바)와 앱 콘텐츠 간의 겹침을 관리하기 위해 사용

WindowInsets은 안드로이드에서 제공하는 클래스이며, 뷰의 네 모서리에서의 여백을 정의다.

이 클래스는 상태 표시줄, 내비게이션 바, 키보드 등 다양한 시스템 UI 요소에 대한 정보를 포함한다.

ViewCompat.setOnApplyWindowInsetsListener(binding.getRoot(), (v, insets) -> {
    Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
    v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
    return insets;
});

위는 WindowInset이 적용될때 Activity의 최상위 View에 System Bar ( Status/Navigation bar 등 ) inset으로 padding을 적용하여 겹치지 않게 하는 것이다.

EdgeToEdge로 전체화면을 설정하게 되면 SystemBar 아래(뒤)까지 View화면이 표시되게 되는데 이때 SystemBar이벤트와 View이벤트 발생이 겹치게 될 수 있으니 SystemBar가 차지하는 영역만큼 View에 Padding을 넣는다고 이해하면 된다.

https://developer.android.com/develop/ui/views/layout/immersive?hl=ko#java

 

몰입형 모드를 위한 시스템 표시줄 숨기기  |  Views  |  Android Developers

이 페이지는 Cloud Translation API를 통해 번역되었습니다. 몰입형 모드를 위한 시스템 표시줄 숨기기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 상태 표시

developer.android.com

 

반응형
Comments