Skip to content

Conversation

@kangyuri1114
Copy link
Member

@kangyuri1114 kangyuri1114 commented Sep 30, 2025

Summary

edge-to-edge 적용 후
Android 버전 9 (14이하)에서 기기 네비게이션바와 앱 내 바텀네비바 겹침 문제를 해결했습니다.

Describe your changes

[Before]

edge-to-edge(before)

기존 캘린더뷰에서 gray100이 적용되어있어 마치 statusbar가 회색처럼 보여 해당 background color를 삭제했습니다
Screenshot 2025-09-30 at 1 10 58 PM

[After]

Screen.Recording.2025-09-30.at.1.12.46.PM.mov

Issue

To reviewers

우리 baseActivity에서 toolbar가 gone일 때, 아닐때를 동시에 쓰기 때문에
이를 고려해서
topInset이랑 bottomInset을 별도의 컴포넌트에서 각각 부여하도록 했습니다.

[before]
그리고 기존 코드에서 문제가 일어났던 원인은

// 소비된 인셋을 반환하여 자식 뷰가 다시 받지 않도록 함 
WindowInsetsCompat.CONSUMED

toolbar에 topInset 적용 후 해당 코드를 사용하면서
하위 뷰까지 inset이 전달되지 않아 BottomNavigationView에 bottomInset이 적용되지 않았던 것입니다.

[after]
그래서 Toolbar 에 inset을 적용 후에
Toolbar와 Container 각각에서 필요한 inset만 분리 적용해서
Toolbar에서 inset을 소비하지 않고, Container가 bottomInset을 받을 수 있도록 수정했습니다.

@kangyuri1114 kangyuri1114 self-assigned this Sep 30, 2025
@kangyuri1114 kangyuri1114 added the 🪲 bug Something isn't working label Sep 30, 2025
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @kangyuri1114, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

이 PR은 Android 9 이하 버전에서 edge-to-edge 모드 적용 시 발생하는 기기 네비게이션바와 앱 내 바텀네비바의 겹침 문제를 해결하기 위해 Window Inset 적용 방식을 개선합니다. 툴바와 메인 컨텐츠 영역에 인셋을 분리하여 적용함으로써 UI 레이아웃의 일관성을 확보하고, 캘린더 뷰의 배경색 문제를 수정하여 시각적 오류를 제거했습니다. 또한, 불필요한 다이얼로그 관련 코드를 정리하여 전반적인 코드 품질을 향상시켰습니다.

Highlights

  • 기기 네비게이션바와 앱 내 바텀네비바 겹침 문제 해결: Android 9 (API 레벨 14 이하) 기기에서 edge-to-edge 적용 후 기기 네비게이션바와 앱 내 바텀네비바가 겹치는 문제를 해결했습니다.
  • Window Inset 적용 로직 개선: 기존에는 툴바에 topInset을 적용하면서 WindowInsetsCompat.CONSUMED를 사용하여 하위 뷰에 bottomInset이 전달되지 않는 문제가 있었습니다. 이를 해결하기 위해 툴바에는 topInset만 적용하고, 컨테이너 뷰(fl_content)에서 bottomInset을 포함한 시스템 바 인셋을 별도로 적용하도록 수정했습니다. 이로써 툴바가 인셋을 소비하지 않고 컨테이너가 bottomInset을 받을 수 있게 되었습니다.
  • 캘린더 뷰 배경색 문제 해결: 기존 캘린더 뷰에서 gray100 배경색이 적용되어 상태바가 회색으로 보이는 문제를 해결하기 위해 해당 배경색을 제거했습니다.
  • 불필요한 코드 제거: AndroidMessageDialogActivity 관련 import와 showAndroidMessageDialog 메서드를 제거하여 코드베이스를 정리했습니다.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

이 PR은 edge-to-edge 적용 시 Android 구버전에서 발생하던 기기 네비게이션 바와 앱의 바텀 네비게이션 바가 겹치는 문제를 효과적으로 해결했습니다. BaseActivity에서 WindowInsets 처리 로직을 수정한 것이 핵심적인 변경 사항인데, 툴바에서 inset을 소비하지 않고 하위 뷰로 전달하여 fl_content가 필요한 bottom inset을 적용받을 수 있도록 한 점이 훌륭합니다. 이로써 UI가 의도한 대로 올바르게 표시될 것입니다. 또한, fragment_cafeteria.xml에서 불필요한 배경색을 제거하여 상태 표시줄의 UI를 개선하고, 사용하지 않는 AndroidMessageDialogActivity 관련 코드를 삭제하여 코드를 정리한 점도 좋습니다. 전반적으로 훌륭한 수정입니다.

Copy link
Member

@PeraSite PeraSite left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💯 💯

@kangyuri1114 kangyuri1114 merged commit bde02ae into develop Sep 30, 2025
1 check passed
@kangyuri1114 kangyuri1114 deleted the feat/fix-view-inset branch September 30, 2025 04:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🪲 bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

기기 하단 버튼과 앱 내 하단 네비바 겹침 문제

3 participants