본문 바로가기
안드로이드

안드로이드 status bar 여러 버전으로 만들기

by Kwoncorin 2020. 8. 18.
728x90

안드로이드에서 status bar 색을 설정하고 싶을 땐 styles.xml에서 colorPrimaryDark item의 색을 설정해주시면 됩니다.

 

어두운 색일 때는 별 다른 문제가 없지만 status bar 색을 밝은 색으로 한다면 문제가 생깁니다.

 

 

 

 

 

 

colorPrimaryDark의 색을 #FFFFFF, 하얀색으로 설정해보았습니다.

colorPrimaryDark을 색상을 #FFFFFF으로 설정하였을 때

 

 

status bar의 색이 하얀색이 되면서 status bar 아이콘들이 보이지 않습니다.

 

 

 

android:windowLightStatusBar

이럴 때는 styles.xml에서 android:windowLightStatusBar를 true로 설정해주시면 됩니다.

 

android:windowLightStatusBar true

 

 

아이콘들이 정상적으로 보이게 됩니다.

 

문제는 API 23 미만에서 발생합니다.

 

android:windowLightStatusBar가 API 23부터 지원을 하게 되기 때문에 그 미만의 API에서도 status bar의 색을 바꾸기 바란다면 밝은 색을 피해 주셔야 합니다.

 

참고로 API 21 미만은 status bar 색을 바꾸는 것을 지원하지 않기 때문에 기본 status bar 색인 검은색에서 다른 색으로 변경할 수 없습니다.

 

정리하자면 안드로이드에서 status bar를 바꾸고 싶을 때

 

  • API 23 ~ : colorPrimaryDark의 색을 설정하면 됩니다. 만약 밝은 색으로 설정할 경우 android:windowLightStatusBar를 true로 설정해주세요.
  • API 21 ~ 22 : colorPrimaryDark의 색을 설정해주면 됩니다. android:windowLightStatusBar가 지원되지 않기 때문에 밝은 색으로 설정할 경우 아이콘이 안 보일 수 있습니다.
  • ~ API 20 : status bar의 색을 변경할 수 없습니다.
728x90