상태바를 삭제하는 기능은 SDK 버전에 따라 다른 코드를 사용해야 하기 때문에 소개하기가 매우 어렵습니다. 여기서는 코드를 소개하기 보다는 status bar를 삭제하는 종류를 소개하는데 중점을 두었습니다.
제가 테스트한 환경은 아래와 같습니다.
| Android Studio version 4.2.1 compileSdkVersion 30 defaultConfig { applicationId "copycoding.tistory.statusbar" minSdkVersion 19 targetSdkVersion 30 versionCode 1 versionName "1.0" |
일단 textview를 하나 만들어서 실행을 해 봅니다.
| <TextView android:id="@+id/button" android:layout_width="match_parent" android:layout_height="321dp" android:text="Hellow" android:background="#CCCCCCCC" android:textAlignment="center"/> |

1. Status bar 삭제
상태바의 영역을 완전히 삭제하는 방법 입니다.
1.1 xml 이용
상태바 영역을 xml을 이용하여 삭제하는 방법입니다.
| <!-- Customize your theme here. --> <item name="android:windowFullscreen">true</item> |
상태바가 사라지고 Title bar 와 콘텐츠 영역이 위로 올라갑니다.

1.2 java 이용
이번에는 java 코드를 이용하여 상태바 영역을 삭제하는 코드 입니다.
| this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); |
또는 다음과 같은 방법을 이용할 수 있습니다.
| View decorView = getWindow().getDecorView(); int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN; decorView.setSystemUiVisibility(uiOptions); |

2. Status bar 삭제/아이콘 유지
이번에는 상태바에 있는 아이콘들은 그대로 놓아두고 상태바 영역을 삭제하는 방법입니다.
| if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { Window w = getWindow(); w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); } |

3. Status bar 사용
이번 예제는 상태바 영역을 삭제하지 않고 콘텐츠 영역을 확장하는 방법입니다.
표현이 정확하지 않겠지만 위에 있는 내용과 어떤 차이가 있는지 직접 보면 이해가 되실겁니다.
| <item name="android:windowTranslucentStatus">true</item> |

4. Source code 위치
xml : res > value > themes.xml
파일에서 <!-- Customize your theme here. -->
이 코드 하단에 추가 합니다.
java : MainActivity.java > onCreate()
파일에서 setContentView(R.layout.activity_main);
이 코드 하단에 추가 합니다.
- copy coding -
'Android' 카테고리의 다른 글
| [Android] HTML Tag 를 사용하여 text 표시 (0) | 2021.12.26 |
|---|---|
| [Android] 해상도별 drawable 폴더 생성 (0) | 2021.12.23 |
| [Android] Title bar 삭제 하기 (0) | 2021.12.19 |
| [Android] 앱 이름 변경 및 두줄로 표시 (0) | 2021.12.12 |
| [Android] sqlite database 자체 삭제하기 (2) | 2021.08.22 |