본문 바로가기
개발/Android

[Android] setSystemUiVisibility 정리

by 1인용 놀이터 2025. 2. 20.
728x90
반응형

 

setSystemUiVisibility 란?

 

setSystemUiVisibility는 Android에서 시스템 UI(상태 표시줄, 내비게이션 바 등)의 표시 여부와 동작 방식을 제어할 때 사용하는 메서드이다. 주로 전체 화면 모드, 몰입형 모드, 라이트/다크 시스템 UI 설정 등에 사용됩니다. 이 메서드는 View 클래스에 속하며, 특정 View에 적용된다.

 


📢 Android 11(API 30)부터는 WindowInsetsController 사용이 권장됩니다.
setSystemUiVisibility는 deprecated 되었지만, 기존 프로젝트나 하위 버전 호환 시 여전히 볼 수 있습니다.


 

사용방법

상태 표시줄 숨기는 방법.

View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);

 

 

자주 사용하는 플래그

플래그 설명
View.SYSTEM_UI_FLAG_VISIBLE 모든 시스템 UI를 표시합니다 (기본값).
View.SYSTEM_UI_FLAG_FULLSCREEN 상태 표시줄을 숨깁니다.
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 내비게이션 바를 숨깁니다 (일시적).
View.SYSTEM_UI_FLAG_IMMERSIVE 사용자가 가장자리를 스와이프하면 UI가 나타납니다.
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY 몰입형 모드 유지 (스와이프 시 잠깐 나타났다 사라짐).
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 콘텐츠가 상태 표시줄 뒤로 확장됩니다.
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 콘텐츠가 내비게이션 바 뒤로 확장됩니다.
View.SYSTEM_UI_FLAG_LAYOUT_STABLE UI 변화를 레이아웃에 영향 없이 처리합니다.

 

 

728x90
반응형