Skip to content

fix: 좁은 기기와 폰트 확대에서 카드 요소가 종이 밖으로 밀리는 문제 수정 - #66

Merged
seunghee17 merged 4 commits into
developfrom
fix/card-ui
Sep 16, 2026
Merged

seunghee17 merged 4 commits into
developfrom
fix/card-ui

Conversation

@soyeonLee126

Copy link
Copy Markdown
Collaborator

작업 개요

카드 내용이 길거나 폰트를 키우면 카드 아래 요소(버튼, 접기 안내)가 종이 밖으로 밀려 잘리는 문제를 고칩니다.

원인은 카드 높이는 폭에 비례해 줄어드는데(aspectRatio(366:528)) 안쪽 여백 48/40dp, 캐릭터 그림 156dp, 점선 간격 22dp 는 절대 dp 였고, 글자는 시스템 폰트 배율을 그대로 타서 세로 예산을 초과했다는 점입니다. 360dp 기기에서는 본문 3줄이면 카드 높이 473dp 에 497dp 가 필요해 23dp 가 밀려났습니다.

작업 유형

  • feat: 새 기능
  • fix: 버그 수정
  • refactor: 리팩토링 (동작 변경 없음)
  • build: 빌드/의존성 설정
  • chore: 기타 (문서, 설정 등)
  • test: 테스트 추가/수정

변경 사항

  • 카드 안쪽 여백과 캐릭터 그림을 카드 폭 배율로 파생시킵니다. 배율 = 카드 폭 / 366, 상한 1.0 이라 402dp 이상 화면은 시안 값 그대로입니다. 글자 크기에는 이 배율을 적용하지 않습니다.
  • 카드 안에서만 시스템 폰트 확대에 상한을 둡니다. 상한은 1.3 x 카드 배율 이고 1.0 아래로는 내려가지 않습니다. 카드는 종이 그림 비율이 고정이라 늘거나 스크롤할 수 없어, 상한이 없으면 요약이 한 줄로 쪼그라든 뒤에도 아래 안내가 종이 밖으로 나갑니다.
  • 내용이 카드 안에서 스크롤되는 대화보기 카드는 상한에서 제외합니다(capFontScale = false). 넘칠 일이 없으므로 시스템 설정을 그대로 따릅니다.
  • 카드 아래쪽에 종이 테두리 여백 13dp x 배율을 확보합니다. 손그림 테두리가 박스 안쪽 약 13dp 에 그려져 있어 그 밖으로 내려가면 테두리를 타고 넘은 것처럼 보입니다. 대화 카드는 기존 하단 여백 40dp 에서 그만큼 차감해 시안 간격을 유지합니다.
  • 숨긴 공유 줄이 자리를 차지하지 않게 합니다. 기존에는 투명 처리만 해서 30dp 를 그대로 점유했습니다. Column 의 마지막 요소라 빼도 위쪽 간격은 바뀌지 않습니다.
  • 좁은 폭과 폰트 확대 조건의 프리뷰를 추가합니다. 감정 카드에 360dp / 320dp / 폰트 2.0 / 360dp + 폰트 2.0, 접기 화면에 좁은 폭 / 폰트 2.0 / 둘 다입니다. 기본 폭 프리뷰만 있으면 이 문제를 잡을 수 없어서입니다.

세로 여유 비교 (본문 3줄, 기본 폰트)

화면 폭 카드 크기 변경 전 변경 후
412dp 366 x 528 31dp 여유 61dp 여유
393dp 361 x 521 24dp 여유 55dp 여유
360dp 328 x 473 23dp 초과 41dp 여유
320dp 288 x 415 81dp 초과 20dp 여유

관련 이슈

  • 해당 없음 (QA 중 발견)

관련 작업 (Notion)

  • 연결된 작업 없음

스크린샷 / 동작 화면

수정 전 접기 화면(시스템 폰트 2.0, SM-S911N)에서는 요약이 한 줄로 잘린 뒤에도 "종이를 눌러 2번 접어주세요" 안내가 종이 테두리를 넘어갔습니다. Before / After 캡처는 추가 예정입니다.

체크리스트

  • base 브랜치가 develop으로 설정되어 있다
  • 로컬 빌드 및 실행을 확인했다
  • 커밋 메시지가 컨벤션(feat:, fix: 등)을 따른다
  • 불필요한 로그/주석/디버그 코드를 제거했다
  • 리뷰어가 이해할 수 있도록 설명을 작성했다

리뷰 요청 사항

  1. 캐릭터 그림 축소 폭: 360dp 기기에서 156dp 에서 140dp 로, 320dp 에서 123dp 로 줄어듭니다. 카드 자체가 그 비율로 작아져 카드 안 비중은 시안과 같지만, 시안 허용 범위인지 봐 주세요.
  2. 폰트 확대 상한의 트레이드오프: 시스템 폰트를 2.0 으로 쓰는 기기에서 카드 안 글자만 1.3 배로 보입니다. 카드 밖 화면은 그대로입니다. 접근성 설정을 카드 안에서 일부 무시하는 선택이라 확인이 필요합니다.
  3. 남은 한계 세 가지는 이 PR 범위에서 다루지 않았습니다.
    • 요약이 3줄을 넘으면 여전히 ... 로 끊깁니다. 요약은 온디바이스 모델 출력이라 최대 130자 안팎까지 나올 수 있습니다.
    • 접기 화면에서 종이 위에 뜨는 안내 문구는 카드 밖이라 상한을 받지 않아, 폰트를 크게 쓰면 세로가 짧은 창에서 잘릴 수 있습니다.
    • 288dp 급 초협폭 기기에서는 접기 화면 요약이 한 줄 더 줄어드는 방식으로 해결됩니다.

검증 범위를 밝혀 두면, 3개 모듈 컴파일과 실기기(SM-S911N) 설치까지 확인했고 폰트 상한 적용본의 기기 화면 확인은 하지 못했습니다. 프리뷰로 봐 주시면 좋겠습니다.

카드 높이만 폭에 비례해 줄고 안쪽 여백과 캐릭터는 고정 dp 여서 360dp 기기에서
버튼이 종이 밖으로 밀림. 본문 3줄 기준으로 대응.
카드는 늘거나 스크롤할 수 없어 폰트 확대분이 그대로 세로 예산을 먹음.
카드 안 폰트 배율에 상한을 두고 아래쪽 테두리 여백을 확보.
@soyeonLee126
soyeonLee126 marked this pull request as ready for review September 14, 2026 04:44
쓰이지 않던 showDivider 와 공유 줄 기본값 제거.
카드 치수와 본문 줄 상한을 GamssCardDefaults 로 모음.

@seunghee17 seunghee17 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

실기기 테스트결과 문제 없어 머지 합니다~

@seunghee17
seunghee17 merged commit ae6c9e7 into develop Sep 16, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants