# XML Typography 스타일 추가 ## 작업 목표 - XML 레이아웃에서 재사용할 수 있는 Typography 스타일 리소스를 추가한다. ## 구현 계획 ### Task 1: Typography 리소스 파일 추가 **Files:** - Create: `app/src/main/res/values/typography.xml` - [x] **Step 1: `typography.xml` 생성** ```xml ``` - [x] **Step 2: 요청된 13개 스타일 완성** `Heading1-4`, `Body1-6`, `Caption1-3`을 모두 추가하고 각 스타일은 `android:fontFamily`, `android:textSize`만 포함한다. - [x] **Step 3: 리소스 빌드 검증** Run: `./gradlew :app:assembleDebug` Expected: `BUILD SUCCESSFUL` ### Task 2: Typography 사용 샘플 문서화 **Files:** - Modify: `docs/prd/20260515_typography_xml_style_prd.md` - Modify: `docs/plan-task/20260515_XMLTypography스타일추가.md` - [x] **Step 1: XML 사용 샘플 추가** ```xml ``` - [x] **Step 2: Kotlin 사용 샘플 추가** ```kotlin val textView = TextView(requireContext()).apply { text = "본문" setTextAppearance(R.style.Typography_Body3) } ``` - [x] **Step 3: Kotlin 리소스명 규칙 기록** XML 스타일명 `Typography.Body3`는 Kotlin `R.style`에서 `Typography_Body3`처럼 점(`.`) 대신 밑줄(`_`)로 참조한다. ## 체크리스트 - [x] AC1: `Typography.Heading1`부터 `Typography.Heading4`까지 4개 스타일이 존재한다. - QA: `app/src/main/res/values/typography.xml`에서 스타일명, `textSize`, `fontFamily` 확인 - [x] AC2: `Typography.Body1`부터 `Typography.Body6`까지 6개 스타일이 존재한다. - QA: `app/src/main/res/values/typography.xml`에서 스타일명, `textSize`, `fontFamily` 확인 - [x] AC3: `Typography.Caption1`부터 `Typography.Caption3`까지 3개 스타일이 존재한다. - QA: `app/src/main/res/values/typography.xml`에서 스타일명, `textSize`, `fontFamily` 확인 - [x] AC4: 기존 XML 레이아웃은 변경하지 않는다. - QA: 변경 파일 목록에서 레이아웃 XML 변경이 없는지 확인 - [x] AC5: 변경 파일 진단/빌드 검증을 수행한다. - QA: `lsp_diagnostics`, `./gradlew :app:assembleDebug` - [x] AC6: Typography 사용 샘플을 XML과 Kotlin 기준으로 확인할 수 있다. - QA: PRD 문서의 Usage Samples 섹션에서 `style="@style/Typography.Heading1"`와 `R.style.Typography_Body3` 확인 ## 검증 기록 - 2026-05-15 - 무엇/왜/어떻게: 구현 전 계획 문서 작성. XML 기반 프로젝트이므로 Compose Typography 대신 values 리소스 스타일 추가로 범위를 한정했다. - 실행 명령/도구: - `read(docs/prd/sample-prd.md)` - `read(app/src/main/res/values/themes.xml)` - `rg --files app/src/main/res/values` - 결과: - PRD와 계획/TASK 문서를 기준으로 `typography.xml` 신규 생성 작업을 진행한다. - 2026-05-15 - 무엇/왜/어떻게: `app/src/main/res/values/typography.xml`을 추가해 요청된 Heading, Body, Caption Typography 스타일 13개를 정의했다. Android 점 표기 스타일은 부모 스타일을 참조하므로 AAPT 리소스 링크 오류를 방지하기 위해 빈 베이스 스타일 `Typography`를 함께 추가했다. - 실행 명령/도구: - `lsp_diagnostics(app/src/main/res/values/typography.xml)` - `./gradlew :app:assembleDebug` - `rg("