본문 바로가기
Android/Android Basic

안드로이드 상단 타이틀바 상태바 없애기

by 수쓰뎁 2023. 10. 3.


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로 변경되면서 타이틀바를 없애기 위해 코드를 작성하는 번거로움이 사라졌다. 오래전에 만든 프로젝트를 접하는 경우 이번 포스팅에서 확인해본 상태바와 타이틀바의 편집 방법을 참고하면 된다.

반응형

댓글