다음 두 개의 코드를 style 태그 안에 입력합니다
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
windowsTranslucentStatus 값은 Status Bar의 색을 투명하게 만드는 여부에 대한 Indicator 값이다.
마찬가지로 windowsTranslucentNaviagiton은 Navigation Bar의 색상을 투명하게 만드는 여부에 대한 Indicator 값이다.
이 플래그를 true로 적용하면 색상이 투명해지는 대신 어두운 scrim이 적용되면서 반투명해진다.
부모 레이아웃의 태그 안에 fitsSystemWindows 속성 값을 true로 준다
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:fitsSystemWindows="true"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
이 속성은 뷰가 차지할 수 있는 영역을 상태바 및 소프트키 영역을 제외한 영역까지 확장해주는 역할을 한다.
다음 코드를 삽입해준다
val window = window
window.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS)
이 코드는 Window(액티비티 영역)를 외부 상태 표시줄까지 확장하는 것을 허락하는 Flag 값이다. 이를 삽입하면 Status Bar가 투명해지는 것과 동일한 효과를 적용받을 수 있다.