본문 바로가기
카테고리 없음

[Android][kotlin] 상태바 배경 및 아이콘 색상 변경방법 (Android R(30)이상 대응 추가)

by MinChan-Youn 2025. 3. 4.

안녕하세요~ 챠니입니다! :)

오늘은 상태바 배경 및 아이콘 색상 변경방법에 대해서 알아보도록 하겠습니다~!

 

특별히 이번에는 저번에 작성된 글에 추가되어!!

Android R(30)이상에서 대응하는 방법도 추가되었습니다.

 

이렇게 말하면... 이상하지만

최근 Android UI가 아이폰처럼 상단바를 자유롭게 사용할 수 있는 것을 기본적으로 제공하고 있기도 하죠?? ㅎㅎ

 

 

긴 이야기는 여기서 접어두고.. 바로 코드로 제시하겠습니다 ^^

 

 

상태바 배경 및 아이콘 색상 변경방법 (Android 30(R) 이상 대응 추가)

Android 30(R)을 기준으로 구분을 하여 각각 상태바의 배경 및 아이콘색상을 지정하는 코드입니다.

 

상태바 배경은 color로 자유롭게 가능하지만

상태바 아이콘은 흰색 or 검정만 가능하시다는부분은 꼭 기억해주세요!

window.apply {
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R) {
        // 상태바 배경
        statusBarColor = ContextCompat.getColor(this@MainActivity, R.color.black)

        // 상태바 아이콘
        insetsController?.setSystemBarsAppearance(
            WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS, //0: 흰색, WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS: 어두운색
            WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS
        )
    } else {
        //상태바
        statusBarColor = Color.WHITE
        //상태바 아이콘(true: 검정 / false: 흰색)
        WindowInsetsControllerCompat(this, this.decorView).isAppearanceLightStatusBars = true
    }
}


        // 시스템 창(insets) 처리를 해제하여 앱 UI가 상태바 영역까지 확장되도록 설정
//        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
//            window.setDecorFitsSystemWindows(false)
//        } else {
//            // Android 10 이하 버전의 경우
//            WindowCompat.setDecorFitsSystemWindows(window, false)
//        }

 

 

 

적용모습

저는 지금 마퀴(marquee)기능을 작업하고 있었는데요~

 

위에서 제시한것처럼 다음과 같이 설정하여 사용중입니다.

상태바 배경: 검정

상태바 색상: 검정

 

이렇게 적용하면 상태바에 아무것도없는 검정으로 보이게 됩니다!

 

물론 아래의 코드처럼 UI를 상태바까지 늘릴 수 있겠지만, 제가 구현하는것은 그렇게까지는 아닌것 같아 상태바를 살려두고 구현하였습니다~!

// 시스템 창(insets) 처리를 해제하여 앱 UI가 상태바 영역까지 확장되도록 설정
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
    window.setDecorFitsSystemWindows(false)
} else {
    // Android 10 이하 버전의 경우
    WindowCompat.setDecorFitsSystemWindows(window, false)
}

 

 

끝!

 

 

 

 

질문 또는 궁굼한 부분은 댓글을 남겨주세요! 친절하게 답변드리겠습니다!

응원의 댓글은 저에게 큰 힘이 된답니다! :)

즐거운 하루되세요!

 

깃허브 보러 놀러오세요 👇 (맞팔환영)

https://github.com/younminchan

 

younminchan - Overview

•🇰🇷/👨🏻‍💻/🖥/⚽️/🎤/🥁/🏃‍♂️/🚴‍♂️/🏄🏻‍♂️/🤟 •TechBlog⬇️ •안드로이드 4년차 개발자 https://minchanyoun.tistory.com - younminchan

github.com