본문 바로가기
개발/Adroid

[android] 상태바 투명 처리

by KEI NETWORK 2019. 9. 10.
728x90

안드로이드 상태바를 투명하게 만드는 방법입니다.

대충 안드로이드 상태바는 다음과 같은 형태로 표현할 수 있습니다.

1) 아무런 설정을 안 해줬을 때의 기본적인 상태바

2) 색상을 입힌 상태바

3) 투명 처리를 한 상태바

과거에는 완전히 투명한 상태바도 표현할 수 있었는데, 지금은 반투명 상태로 표현되고 있습니다.

 

일단, 반투명 상태의 상태바는 다음과 같은 테마를 적용하여 구현할 수 있습니다.

 

styles.xml

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
  <!-- Customize your theme here. --> 
  <item name="colorPrimary">@color/colorPrimary</item> 
  <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
  <item name="colorAccent">@color/colorAccent</item> 
  <item name="android:windowDrawsSystemBarBackgrounds">true</item> 
  <item name="android:statusBarColor">@color/transparent</item> 
  <item name="android:windowTranslucentStatus">true</item> 
</style>

 

때에 따라서 반투명 상태보다는 색상을 입힌 상태바가 더 좋을 때가 있습니다. 상태바의 색상을 primaryColor와 똑같이 지정하면 투명 상태처럼 보이기도 합니다. 그럴 때는

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
  <!-- Customize your theme here. --> 
  <item name="colorPrimary">@color/colorPrimary</item> 
  <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
  <item name="colorAccent">@color/colorAccent</item> 
  <item name="android:windowDrawsSystemBarBackgrounds">true</item> 
  <item name="android:statusBarColor">@color/colorPrimary</item> 
  <item name="android:windowTranslucentStatus">false</item> 
</style>

와 같이 지정해주면 됩니다.

 

Activity에서 StatusBar아래로 버튼등이 나와야 한다면 해당하는 layout에 하단내용 기입.android:fitsSystemWindows="true"

728x90

댓글