Skip to content

2주차 미션 / 2조 강민주#11

Open
kangminzu wants to merge 2 commits into
Konkuk-KUIT:kangminzufrom
kangminzu:kangminzu/week2
Open

2주차 미션 / 2조 강민주#11
kangminzu wants to merge 2 commits into
Konkuk-KUIT:kangminzufrom
kangminzu:kangminzu/week2

Conversation

@kangminzu

@kangminzu kangminzu commented Mar 25, 2026

Copy link
Copy Markdown

1. 미션

각 주차에 해당하는 미션 체크리스트

  • 뉴스 화면 구현하기
  • 앱 아이콘
  • 상단 카테고리
  • 기사 이미지
  • 기사 본문(이미지 오른쪽 부분)
  • 기사 본문과 카테고리를 더욱 늘려 lazyView 실 사용하기
  • 카테고리
  • 기사

2. 구현에 대한 설명

• 상단 로고 이미지: Image 컴포저블을 활용해 newsappicon을 화면 중앙 상단에 배치
• 가로 스크롤 카테고리 (LazyRow): 다양한 뉴스 카테고리를 LazyRow로 구현하여 사용자가 옆으로 넘기며 선택할 수 있도록 함. Arrangement.spacedBy(20.dp)를 통해 아이템 간 간격을 일정하게 유지함.
• 세로 스크롤 뉴스 리스트 (LazyColumn): 많은 양의 뉴스 데이터를 효율적으로 보여주기 위해 LazyColumn을 사용함. 메모리 사용량을 최소화하며 부드러운 스크롤을 제공함.
• 개별 뉴스 항목 (NewsItem):
◦ 이미지 영역: 기사 사진을 좌측에 배치하고 둥글게 처리
◦ 텍스트 영역: 카테고리, 제목, 출처 및 시간을 우측에 배치, 제목이 긴 경우 ... 처리
• 데이터 모델링: News 데이터 클래스를 만들어 카테고리, 제목, 출처, 시간, 이미지 리소스 등을 체계적으로 관리하고 리스트에 적용함.
• 레이아웃 최적화: LazyColumn에 Modifier.weight(1f)를 적용해 화면의 나머지 공간을 모두 활용하도록 함. 개별 아이템을 별도의 @composable 함수(NewsItem)로 분리해 앱의 응답 속도를 높임

3. 스크린샷 & 실행영상

image image

4. 기타

없음

@AyoungSe0 AyoungSe0 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

시계 아이콘, 뉴스 로고 이미지, 더보기 아이콘 등 반영이 안 된 부분이 있네요!
뉴스 로고 이미지의 경우, 언론사 정보를 함께 관리해서 언론사별 로고 이미지를 매핑하는 방식으로 개선해 보면 좋을 것 같습니다.
그 외에 전체적인 레이아웃 구성도 잘해주셨고, 특히 화면 전환이나 크기 변화에 잘 대응되도록 너무 잘 구현해주셨습니다!!

modifier = Modifier.height(96.dp),
verticalArrangement = Arrangement.SpaceBetween
) {
Column {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

modifier = Modifier.weight(1f)를 추가해주셔야 긴 텍스트가 들어왔을 때 남은 가로폭 안에서 안정적으로 레이아웃이 계산됩니다!

@Composable
fun NewsItem(news: News) {
Row(
modifier = Modifier.fillMaxWidth()

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

.padding(8.dp)을 추가해주어야 피그마 디자인과 일치합니다!

items(newsList) { news ->
NewsItem(news)
}
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

마지막에 item { Spacer(modifier = Modifier.height(58.dp)) }을 추가하면 피그마와 동일하게 목록하단에 여백을 줄 수 있습니다~!

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.

2 participants