Skip to content

fix(platform): 루트 Scaffold 가 깐 내비 바 몫을 하위 화면이 또 더한다 — 3버튼 내비에서 하단 CTA 가 48dp 높이 뜬다 #1891

Closed

Description

@OnlyReadOneBook

작업 유형

bug — 버그·오동작

주 담당 모듈

platform — Android 앱·CI·빌드·릴리스·저장소 운영

개요

루트 Scaffold 가 내비 바 몫을 깔아 두는데 소비로 잡히지 않아, 그 아래 화면들이 내비 바를 한 번 더 더한다. 3버튼 내비 기기에서 하단 버튼이 설계보다 48dp 높이 뜬다. 키보드와 무관하게, 앱을 켜자마자 그렇다.

원인

AppNavigation.kt:78-92 — 루트 Scaffold 가 contentWindowInsets = WindowInsets.systemBars.only(Horizontal + Bottom) 으로 내비 바를 innerPadding 에 넣고, NavHost(modifier = Modifier.padding(innerPadding)) 로 consumeWindowInsets 없이 전달한다. 그래서 하위 화면에서 WindowInsets.navigationBars 를 읽거나 navigationBarsPadding() 을 걸면 원본 값이 그대로 나와 두 번 더해진다.

겹치는 자리 두 곳을 확인했다.

자리 하는 일 3버튼에서
FlowStepScaffold.kt:103 bottomBar navBarHeight + 49.dp — 2026-05-23 a66b6539d 부터 CTA 가 화면 바닥에서 141dp(설계 97dp = 내비 48 + 49)
WelcomeScreen.kt:47 .navigationBarsPadding() 같은 구조로 한 겹 더 (제스처에선 24dp)

statusBarsPadding() 은 무관하다 — 루트가 Top 은 깔지 않는다.

실측 (에뮬레이터 API 34 · 1080×2400@420 · 3버튼 내비)

키보드 없이 FindIdScreen 의 「다음」 버튼: 클릭 노드 bounds [53,1904][1027,2030] → 화면 바닥까지 370px = 141dp. 설계 97dp 와 44dp 차이(≈ 내비 바 한 겹 48dp − 4dp 상수). #1853 이 키보드가 뜬 동안의 같은 종류 이중 계산을 고쳤지만 키보드 없는 이 자리는 그 PR 범위 밖이라 그대로다.

어디서 고칠 것인가

두 갈래이고 정하고 시작해야 한다.

  1. 루트에서 소비한다 — NavHost(modifier = Modifier.padding(innerPadding).consumeWindowInsets(innerPadding)). 그러면 하위의 navigationBarsPadding() 은 자동으로 0 이 된다(WelcomeScreen 해결). 단 FlowStepScaffold 처럼 asPaddingValues() 로 원본 값을 직접 읽는 자리는 소비를 모르므로 함께 고쳐야 한다. 전 화면에 영향이 가는 변경이라 각 모듈 담당이 자기 화면을 한 번씩 봐야 한다.
  2. 자리마다 뺀다 — 루트를 두고 FlowStepScaffold 의 navBarHeight 항을 걷고, WelcomeScreen 의 navigationBarsPadding() 을 지운다. 국소적이지만 다음에 같은 실수가 다시 들어온다.

1 이 정본에 가깝다. 다만 FlowStepScaffold 의 원래 설계 문구 「제스처 바: 화면 하단으로부터 49dp / 구형 내비 바: 바로부터 49dp」는 루트가 내비 바를 깔지 않는다는 전제로 쓰인 것이라, 루트가 깔고 있는 지금은 제스처에서 49+24dp 가 된다. 시안이 원하는 게 어느 쪽인지 그 절에서 확정한다.

완료 조건

  • 3버튼 내비에서 FlowStepScaffold CTA 가 내비 바 위 49dp, 제스처에서 시안이 정한 값에 온다 — 에뮬레이터 실측으로.
  • WelcomeScreen 버튼 위치가 이중 패딩 없이 온다.
  • 루트 아래에서 WindowInsets.navigationBars 원본을 직접 읽는 자리가 남지 않거나, 남는 이유가 적혀 있다.

자식 이슈

No response

참고

화면 증거

같은 화면을 3버튼 내비와 제스처 내비에서 찍은 것이다. 하단 CTA 위치를 두 모드에서 비교할 수 있다.

3버튼·제스처 내비 하단 CTA

Activity

  1. added
    bugSomething isn't working
    area:platformCI·빌드·릴리스·저장소 운영 영역
    on Sep 4, 2026
  2. github-actions commented on Sep 4, 2026

    @github-actions
    Contributor

    bug 이슈는 사이드바 Fields > Priority 로 심각도를 지정해야 합니다. 판정 기준:

    • Urgent: 치명 — 크래시·데이터 소실·보안 무력화·핵심 경로 차단·가짜 성공
    • High: 심각 — 실패·틀린 값의 정상 위장, 핵심 기능 무동작
    • Medium: 불편 — 우회로가 있는 오동작·틀린 표시, 핵심 흐름은 유지
    • Low: 경미 — 문구·정렬·마감 품질 흠, 기능 영향 없음

    값이 비어 있어도 이슈를 닫지는 않습니다. 이 안내는 이슈당 한 번만 답니다.

  3. added
    pr-open이 이슈를 구현하는 PR 이 열려 있다 — base 가 기본 브랜치가 아니어도 드러낸다
    on Sep 12, 2026
  4. removed
    pr-open이 이슈를 구현하는 PR 이 열려 있다 — base 가 기본 브랜치가 아니어도 드러낸다
    on Sep 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

area:platformCI·빌드·릴리스·저장소 운영 영역bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions