Abstract.
안드로이드 스튜디오 버전이 업그레이드 되면서 어느 순간부터 화면 상단 타이틀바가 자동으로 없어지는 것을 알 수 있었다. 실제 앱을 개발하면서 커스텀 타이틀바를 많이 사용하다보니 개발자의 편의를 위해서 디폴트값으로 상단 타이틀바를 없애준 것 같다. 이번 포스팅에서는 상단 타이틀바와 상태바를 없애는 방법을 알아보고, 기존의 것들과 비교해본다.
1. 상태바와 타이틀바
예전에는 안드로이드 스튜디오의 프로젝트를 생성하여 실행하면 다음과 같이 상태바와 타이틀바가 기본적으로 생성되는 것을 볼 수 있다. 가장 위에 각종 알람이 표시되는 바를 상태바(Status Bar), 그 아래 앱 이름이 표시되는 타이틀바(Title Bar)라고 한다.
2. 상태바와 타이틀바 편집
타이틀바를 편집하기 위해서는 디렉터리에서 values - themes의 themes.xml 파일을 편집하면 된다. themes.xml에서는 앱 화면의 디자인과 관련된 다양한 것들을 셋팅할 수 있다. 예를 들면, 텍스트, 버튼, 컨테이너 등의 위젯들을 커스텀하여 정의할 수 있다.
예전의 themes.xml 파일의 구성은 다음과 같다.
1번에서 parent="Theme.MeterialComponents.Light.DarkActionBar"으로 설정되어 있기 때문에 상태바와 타이틀바가 모두 앱 화면에 표시된다. 2번은 상태바와 타이틀바의 색상을 담당한다. 3번의 statusBarColor를 통해 상태바의 색상을 변경할 수 있다. 4번은 타이틀바를 없애주는 역할을 한다. 5번은 상태바를 없애주는 역할을 한다. 하나씩 편집을 해보자.
1) 타이틀바 없애기
<style> 태그 안에 다음과 같은 코드를 작성하면 타이틀바가 사라지는 것을 확인할 수 있다.
<!-- set No titleBar -->
<item name="android:windowNoTitle">true</item>
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
2) 상태바 색상 변경
<style> 태그 안에 다음과 같은 코드를 작성하면 상태바 색상을 변경할 수 있다.
<!-- Status bar color. -->
<item name="android:statusBarColor">@color/neon_green</item>
3) 상태바 없애기
<style> 태그 안에 다음과 같이 코드를 작성하면 상태바를 없앨 수 있다.
<!-- set No status bar -->
<item name="android:windowFullscreen">true</item>
위에서 실행한 편집 과정은 다음과 같다.
3. 최신 안드로이드 스튜디오의 상태바와 타이틀바
위의 내용은 예전의 themes.xml 리소스를 구현한 것이다. 아래 사진은 안드로이드 플라밍고 기준 프로젝트를 생성했을 때 기본적으로 생성되는 themes.xml파일을 실행한 것이다.
<style> 태그의 내용 중 parent="Theme.Meterial3.DayNight.NoActionBar"로 인하여 프로젝트 생성 시 디폴트 값으로 타이틀바를 없애준다. 기존의 MeterialComponents에서 Meterial3로 업데이트 되면서 변경된 것 같다. 프로젝트를 생성하여 아무런 편집 없이 바로 실행해보면 다음과 같은 화면을 볼 수 있다. 디폴트값으로 타이틀바는 없어졌지만 상태바는 남아있는 것을 확인할 수 있다.
만약 상태바를 없애고 싶다면 다음과 같은 코드를 <style> 태그 안에 작성하면 된다.
<!-- set No status bar -->
<item name="android:windowFullscreen">true</item>
위의 내용과 동일한 코드다.
Conclusion
Meterial 디자인이 MeterialComponents에서 Meterial3로 변경되면서 개발자의 편의롤 생각한 것 같다. 과거 프로젝트와 다르게 디폴트 값이 NoActionBar로 변경되면서 타이틀바를 없애기 위해 코드를 작성하는 번거로움이 사라졌다. 오래전에 만든 프로젝트를 접하는 경우 이번 포스팅에서 확인해본 상태바와 타이틀바의 편집 방법을 참고하면 된다.
'Android > Android Basic' 카테고리의 다른 글
안드로이드 스튜디오 플라밍고 자바 프로젝트 생성 방법 (0) | 2023.05.27 |
---|---|
안드로이드 스튜디오 설치(2023.05.27. 기준) (1) | 2023.05.27 |
안드로이드 패스 그리기 (0) | 2023.02.18 |
안드로이드 그리기 속성 (0) | 2023.02.18 |
안드로이드 그래픽(Graphic) (0) | 2023.02.10 |
댓글