Skip to content

fix(mindrecord): 좁은 화면(360dp)에서 추억 공간 「돌아가기」가 헤더 부제와 겹친다 #1153

Closed

Description

@Sadturtleman

증상

추억 공간(MemorySpaceScreen) 헤더에서 좌상단 「돌아가기」 버튼이 가운데 정렬된 부제(「화면을 드래그해 공간을 둘러보세요」)와 겹친다. 360×800dp 에서만 재현되고 기본 크기(411×914dp)에서는 여백이 남는다.

근거

#1131 로 넣은 baseline 두 장을 나란히 보면 갈린다.

baseline 결과
memorySpaceScreenErrorScreenshot(기본 411dp) 「돌아가기」 우측 끝과 부제 좌측 끝 사이에 여백이 있다
memorySpaceScreenErrorCompactScreenshot(360dp) 「돌아가기」 알약이 부제 위로 올라타 「화면을 드래그해…」 앞부분을 가린다

세 상태(기록 있음·0건·실패) 모두 같은 헤더라 셋 다 해당한다.

원인 추정

헤더가 Box 안에서 좌측 버튼과 가운데 텍스트를 각각 배치하는 형태라, 폭이 줄어도 서로를 밀어내지 않는다. 가운데 정렬 텍스트가 버튼 폭을 모른 채 화면 중앙을 기준으로 잡는다.

제안

  • 헤더를 Row 로 바꾸고 좌측 버튼 폭만큼 가운데 영역을 좁힌다(레포에 선례가 있다 — HomeTopBar 는 좌우 균형을 위해 우측에 Box(width = 52.dp) 를 둔다).
  • 또는 부제를 버튼 아래로 내린다. 시안 확인이 필요하다.

참고

Activity

  1. self-assigned this
    on Aug 25, 2026
  2. Sadturtleman commented on Aug 26, 2026

    @Sadturtleman
    CollaboratorAuthor

    제가 쓴 전제를 정정합니다 — 겹치지 않습니다. 다른 결함이 있습니다

    이 이슈는 제가 compact baseline 을 눈으로 보고 등록한 것인데, 픽셀을 재 보니 겹침이 아닙니다.

    memorySpaceScreenErrorCompactScreenshot(360×800dp, 720×1600px) 을 디코드해 행별 픽셀 런으로 측정했습니다.

    요소 x 범위 (px) dp
    「돌아가기」 알약 48..243 24.0 .. 121.5
    MEMORY SPACE 303..504 151.5 .. 252.0
    부제 「화면을 드래그해…」 277..529 138.5 .. 264.5

    알약 우측 끝 121.5dp, 부제 좌측 시작 138.5dp — 17dp 여유가 있습니다. 겹침 0.

    원인 추정도 틀렸습니다. 헤더는 Box 오버레이가 아니라 이미 Row 입니다(MemorySpaceHeader.kt:38). Row 형제끼리는 겹칠 수 없습니다.

    실제 결함 — 우측 여백이 0 이고, 제목 블록이 화면 밖으로 뻗는다

    크기 축만으로는 안 드러나고 글자 배율과 곱해져야 드러납니다. 360dp × fontScale = 1.5(#1146 이 세운 축) 로 렌더해 측정했습니다.

    요소 기본 배율 1.5배
    알약 우측 끝 121.5dp 146.5dp
    부제 우측 끝 264.5dp 356.5dp
    남는 우측 여백 95.5dp 1.5dp

    부제가 화면 오른쪽 끝(360dp)에 닿습니다. 한 글자만 길어지거나 배율이 한 단계 더 오르면 잘립니다.

    원인은 둘입니다.

    1. 헤더에 end 패딩이 없습니다 — padding(top = 24.dp, start = 24.dp). 좌측만 24dp 이고 우측은 0 입니다.
    2. 제목 Column 에 weight 가 없습니다 — 그래서 자기 내용 폭을 그대로 요구하고, 폭이 모자라도 줄바꿈하지 않고 계속 뻗습니다.

    고치는 방향

    end = 24.dp 를 주고 제목 Column 에 weight(1f) 를 줍니다. 남은 폭이 상한이 되어 그 안에서 접히고, 겹침도 구조적으로 불가능해집니다 — 이 이슈가 걱정한 상태가 애초에 도달 불가능해집니다. #1163(카테고리 탭)·#1162(약관 제목)가 같은 성질을 같은 방식으로 닫았습니다.

    시안 대조

    MEMORY SPACE 정본 4327:67706 을 렌더해 확인했습니다. 「돌아가기」 알약이 좌상단, 제목·부제가 한 행에 나란히 — 구조는 현재 앱과 같습니다. 부제를 버튼 아래로 내리는 안(이 이슈의 두 번째 제안)은 시안과 어긋나므로 택하지 않습니다.

    시안은 393dp 기준이고 제목 블록이 화면 중앙에 놓입니다. weight 를 주면 블록이 「버튼 오른쪽 남은 폭의 중앙」이 되어 화면 중앙에서 약간 오른쪽으로 갑니다(411dp 기준 4dp). 시안의 완전 중앙 정렬을 지키려면 우측에도 버튼 폭만큼 자리를 비워야 하는데, 360dp 에서는 제목 슬롯이 과하게 좁아집니다. 화면 밖으로 나가지 않는 쪽을 택했습니다 — 판단이 다르시면 알려 주세요.

    감시

    #1131(PR #1154)이 세운 compact baseline 에 360dp × 1.5배 조합 한 장을 더합니다. 크기 축(#1131)이나 배율 축(#1146) 어느 하나만으로는 이 자리가 안 잡히기 때문입니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions