4주차 미션/1조 김세연#9
Open
rlatpdusdlqslek-spec wants to merge 4 commits intoKonkuk-KUIT:rlatpdusdlqslek-specfrom
Open
4주차 미션/1조 김세연#9rlatpdusdlqslek-spec wants to merge 4 commits intoKonkuk-KUIT:rlatpdusdlqslek-specfrom
rlatpdusdlqslek-spec wants to merge 4 commits intoKonkuk-KUIT:rlatpdusdlqslek-specfrom
Conversation
Updated the README to include detailed instructions on forking, cloning, and submitting pull requests for the KUIT 7th Android project.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🖥️ 미션
📕 구현 과제
1. 구현 핵심 구조:
LazyColumn가장 중요한 부분은 전체 화면을
LazyColumn으로 감싼 것입니다.Column을 사용하면 화면 밖으로 나가는 내용이 잘리지만,LazyColumn은 자동으로 스크롤 기능을 제공하며 화면에 보이는 것만 렌더링해서 메모리 효율이 좋습니다.item { ... }블록 안에 넣어서 세로로 차곡차곡 쌓는 방식입니다.2. 컴포넌트별 배치 원리
A. 최상단 영역 (TopProfileSection)
Column의horizontalAlignment = Alignment.CenterHorizontally를 사용하여 로고와 프로필 사진을 화면 정중앙에 배치했습니다.Box에clip(CircleShape)를 적용해 네모난 이미지를 원형으로 깎았습니다.B. 정보 카드 (SubscriptionCard)
Card를 사용해 입체감을 주었습니다.LinearProgressIndicator를 사용하여 사용량을 시각화했습니다.modifier를 통해 높이(height)와 둥근 모서리(clip)를 디자인 가이드에 맞게 조절했습니다.C. 대시보드 그리드 (DashboardGrid)
Column안에Row를 두 번 배치하여 격자 모양을 만들었습니다.Modifier.weight(1f)를 주어 두 아이템이 가로 길이를 정확히 반반씩 나누어 갖도록 했습니다. 또한aspectRatio(1f)를 통해 항상 정사각형 형태를 유지합니다.D. 설정 및 리스트 (Settings & SavedArticles)
Switch컴포넌트를 사용하여 다크 모드 같은 설정 상태를 직관적으로 조절할 수 있게 했습니다.ArticleCard를 반복 호출하여 저장된 기사들을 보여줍니다. 실제 데이터가 많아질 경우items(articleList) { ... }문법으로 확장하기 좋습니다.3. 리팩토링 및 유지보수 팁
.kt)로 나눈 것은 아주 좋은 습관입니다.ProfileSection.kt가 수정되어도SubscriptionCard.kt에는 영향을 주지 않으므로 에러를 찾기 쉽고 협업하기 좋습니다.LazyColumn의background수정만으로 가능합니다. 반면, 특정 카드 사이의 간격을 벌리고 싶다면item과item사이에Spacer를 추가하거나Arrangement.spacedBy()를 활용해 보세요.