본문 바로가기

안드로이드/[Kotlin]

[Kotlin] 상단의 Status Bar를 투명하게 만들어 보자.

Status Bar 란?

그림에서 보는것과 같이 휴대폰의 상단에 시계/배터리/와이파이 등의 상태를 확인할 수 있는 상태표시바를 Status Bar라고 한다. 어플을 만들때에는 사용자들이 어플에 더 집중할 수 있도록 이 Status Bar의 색상을 바꾸곤 하는데, 오늘은 이 Status Bar의 색을 투명하게 바꾸는 법을 알아보자.

 

 

1. themes.xml

<item name="android:windowTranslucentStatus">true</item>

위 코드를 themes.xml 에 추가하자.

windowsTranslucentStatus 값은 Status Bar의 색을 투명하게 만드는 여부를 나타낸다.

이 값을 true로 적용하면 상단의 Status Bar의 색상이 반투명해진다.

 

추가적으로 만약 Navigation Bar의 색상도 반투명하게 만들고자 한다면

<item name="android:windowTranslucentNavigation">true</item>

이 코드를 추가하면 된다.

 

 

2. activity 파일

투명한 Status Bar를 적용하고자 하는 activity파일에 아래의 코드를 추가하자.

window.apply {
            clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
            addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
            statusBarColor = Color.TRANSPARENT
            decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
        }

옛날 버전의 코드가 쓰여서 그런지 --------- 이런 식으로 몇몇 요소들이 지워져있다.

그런데 적용은 되네,,,,? 

 

 

 

최종 결과를 Status Bar 부분만 캡쳐 한거다.