본문 바로가기
개발/Android

[안드로이드 앱 개발] 다크테마에 맞춰 상태바 색상 바꿔주기

by 즐거운 개발 인생 2022. 1. 20.
728x90
반응형

[안드로이드 앱 개발] 다크테마에 맞춰 상태바 색상 바꿔주기

[android app develop] Changing the color of the status bar to match the dark theme


Android Status bar color change

 

 

다크 테마도 지원하는 요즘 트렌드에 맞춰 라이트 테마와 다크테마에 따라 색상이 자동으로 변경되도록 변경해줍니다.

 

안드로이드 프로젝트를 생성하고 처음 실행하면 상단 Statusbar가 보라빛 강렬한 색상으로 나옵니다.

 

내부 디자인을 깔끔하게 맞춰줬는데 기본 컬러가 아주아주 못생겼네요. 빠르게 바꿔보도록 하죠.

Android default statusbar

 

 

다크테마에 따른 색상 변경은 아래의 피드를 참고해주세요.

2022.01.20 - [개발/Android] - [안드로이드 앱 개발] 다크 테마에 맞춰 자동으로 색상 바꿔주기

 

[안드로이드 앱 개발] 다크 테마에 맞춰 자동으로 색상 바꿔주기

안드로이드에서 지원하는 다크 테마를 시스템 설정에 따라 자동으로 변경되게 하기 위해서 colors.xml(night) 파일이 우선 필요합니다. colors.xml(night) 파일은 프로젝트 생성시 자동으로 추가되지 않

dainty-break.tistory.com

 

 

색상 준비가 완료되었다는 전제하로 statusbar 색상을 변경해 줍시다.

 

프로젝트 생성시 themes 파일은 themes.xml과 themes.xml(night) 두가지가 자동 생성됩니다.

 

themes 파일에 statusbar color를 작성해주도록 합니다.

<!-- Status bar color. -->
        <item name="android:statusBarColor">@color/background</item>
        <item name="android:windowLightStatusBar">true</item>

 

statusbar 배경 색상은 android:statusBarColor에 색상을 지정해주면 바뀝니다.

 

statusbar 배경 색상만 바꿔주면 status의 font 색은 변경 되지 않기때문에 배경색이 font와 비슷한 색상이면 아래의 이미지 처럼 글자가 보이지 않을 수 있습니다.

 

font의 색상은 지정할 수 없지만 설정에따라 흰색과 검은색 두가지 정도로는 변경 할 수 있습니다.

 

마찬가지로 theme에 windowLightStatusBar에 boolean 값을 지정해줍니다.

 

windowLightStatusBar는 statusbar가 밝은 색인지 묻고 있으므로 밝은 색상의 배경을 쓰는 경우엔 false를 넣어 어두운 색상으로 변경해 줄수 있습니다.

 

theme에서 설정이 끝나면 themes.xml(night)에도 원하는 대로 설정을 해주면

 

라이트 모드와 다크 모드에서 핸드폰의 시스템 설정에 따라 자동으로 색상이 변경되는 아름다운 statusbar를 확인하실 수 있습니다.

 

728x90
반응형

댓글