KDY

Android 상태바 겹침 문제 본문

Android 오류

Android 상태바 겹침 문제

daeyeong 2025. 5. 24. 23:46

Android 상태바랑 뷰가 겹쳐서 클릭이 안 될 때, 이렇게 해결했어요!

안녕하세요 :)

오늘은 Android 앱 개발하면서 종종 겪게 되는
"상태바랑 화면 뷰가 겹쳐서 가려지거나 클릭이 안 되는 문제"를 어떻게 해결했는지 공유해보려고 해요.

저도 이 문제 때문에 처음에 당황했는데,
생각보다 너무 간단하게 해결할 수 있어서, 같은 문제 겪는 분들께 도움이 되길 바라며 정리해봤습니다.


🔍 문제 상황

앱을 실행했을 때,

  • 버튼이 상태바 아래에 가려져서 클릭이 안 되거나,
  • 이미지나 텍스트가 상태바에 겹쳐 보여서 화면이 좀 이상하게 보이는 경우!

이럴 땐 대부분 앱 화면이 상태바 영역까지 확장돼 있어서 그런 겁니다.


🧐 문제 원인 더 자세히

최근 Android 15(API 레벨 35) 이상을 타겟팅하는 앱들은 기본적으로 시스템 UI 경계를 넘어 전체 디스플레이 영역을 활용하도록 설계되어 있어요. 이걸 edge-to-edge라고 부릅니다.

즉, 앱의 윈도우가 화면 전체 너비와 높이를 다 차지하는데, 여기에는 상태 표시줄(상태바), 내비게이션 바, 그리고 캡션 바 같은 시스템 바 영역도 포함됩니다.

그 결과, 기존에는 시스템 바 영역을 피해 화면을 구성했던 뷰가 이제는 그 영역까지 침범하게 되고, 상태바 위에 겹쳐 보이거나, 클릭 이벤트가 제대로 전달되지 않는 문제가 생기는 거죠.

이 때문에 상태바와 뷰가 겹치는 현상이 생기고, 사용자가 버튼 등을 클릭하려 해도 반응하지 않는 상황이 발생합니다.


💡 해결 방법은 정말 간단해요!

  1. res > values > themes.xml 파일을 열어주세요.
  2. 사용 중인 테마 스타일 안에 아래 코드를 추가해주시면 됩니다:
<item name="android:fitsSystemWindows">true</item>

예를 들어, 아래처럼 테마를 수정해주시면 돼요:

<resources>
    <style name="Theme.ComposeStudy" parent="android:Theme.Material.Light.LightStatusBar">
        <item name="android:windowNoTitle">true</item>
        <item name="android:statusBarColor">@color/purple_700</item>
        <item name="android:fitsSystemWindows">true</item>
    </style>
</resources>

이 설정은 시스템 UI 영역(상태바, 내비게이션 바 등)을 피해서
뷰가 그 아래로 내려가도록 자동으로 여백을 추가해주는 역할을 합니다.


✅ 적용 결과


✍️ 마무리하며

정말 사소한 설정 하나로 30분을 태워먹은... 군대 와서도 틈틈히 공부를 할 걸 그랬습니다 ㅠ 근데 이제는 상태바가 아예 안 보이고, 색상도 안 변해서 다음에는 상태바 색상 변경하는 방법도 알아와야겠어요!

저처럼 상태바랑 뷰가 겹쳐서 당황하셨던 분들께 도움이 되었으면 좋겠습니다 😊