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
반응형
'개발 > Android' 카테고리의 다른 글
| [Android] Activity 생명주기 쉽게 이해하자 (0) | 2025.02.28 |
|---|---|
| [Android] 안드로이드 4대 컴포넌트(Component) (0) | 2025.02.28 |
| [Android] Service 정리 (0) | 2025.02.13 |
| [Android] Intent Filter 정리 (0) | 2025.02.12 |
| [Android] Intent(인텐트) 정리 (0) | 2025.02.12 |