카테고리 탭 만들기 — 정치, 경제, 스포츠를 손쉽게 구분하기
·
Flutter/Flutter 뉴스 앱 만들기
뉴스를 더 보기 좋게 나누는 방법은 다양하지만, 가장 흔하고 효과적인 방식은 카테고리 탭이다.정치, 경제, 스포츠, 기술 등 관심 있는 분야만 쏙쏙 골라보는 경험은 사용자에게 편안함을 준다.이번 글에서는 Flutter에서 TabBar와 TabBarView를 활용해 뉴스 앱에 탭 형태의 카테고리 UI를 구현해보자.📐 기본 구조 — DefaultTabController가장 간단한 방식은 DefaultTabController를 사용하는 것이다. 탭 개수만 정해주면 된다.DefaultTabController( length: 3, // 탭 수 child: Scaffold( appBar: AppBar( title: Text("뉴스 카테고리"), bottom: TabBar( ..
뉴스 상세 페이지 — 이미지, 본문, 공유 버튼까지 세련되게
·
Flutter/Flutter 뉴스 앱 만들기
뉴스 앱을 만든다면, 메인 목록 다음으로 중요한 건 바로 상세 페이지다.썸네일, 본문, 날짜, 공유 버튼... 이 모든 요소들이 잘 어우러져야 사용자에게 정보 전달은 물론 디자인 감성까지 줄 수 있다.이번 글에서는 Flutter로 세련된 뉴스 상세 페이지를 만드는 구조를 공유해본다.🧱 기본 레이아웃 설계class NewsDetailScreen extends StatelessWidget { final News news; const NewsDetailScreen({super.key, required this.news}); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: Text("..
날짜별 뉴스 필터링 기능 구현하기
·
Flutter/Flutter 뉴스 앱 만들기
뉴스 앱을 만들다 보면 사용자가 원하는 날짜의 기사만 보고 싶어하는 경우가 생긴다.특히 시사/경제 뉴스일수록 "어제 뉴스만 보기" 같은 필터링 기능이 중요하다.이번 글에서는 Flutter에서 DatePicker를 통해 날짜를 선택하고, 해당 날짜에 해당하는 뉴스만 필터링하는 UI를 구현해보자.📅 날짜 선택을 위한 DatePicker 구현void _selectDate(BuildContext context) async { final DateTime? picked = await showDatePicker( context: context, initialDate: DateTime.now(), firstDate: DateTime(2020), lastDate: DateTime.now(), ..
무한 스크롤 구현 — 더 보기 없이 계속 내려보는 뉴스 피드 만들기
·
Flutter/Flutter 뉴스 앱 만들기
뉴스 앱을 만들다 보면, “더 보기” 버튼 없이 계속 내려가면 새로운 뉴스가 자동으로 나오는 UI를 구현하고 싶어진다.이런 기능을 흔히 무한 스크롤 (Infinite Scroll)이라고 부른다.이번 글에서는 Flutter에서 ScrollController를 사용해 무한 스크롤을 구현하는 방법을 실제 코드와 함께 정리해본다.🔁 무한 스크롤 동작 방식 요약스크롤을 감지해서 리스트 끝에 도달했는지 확인다음 페이지 데이터를 요청하고 리스트에 추가로딩 중에는 중복 요청 방지이 3가지가 핵심이다. 이제 코드를 보면서 차근차근 구현해보자.🧱 ScrollController 기본 셋업class NewsFeedScreen extends StatefulWidget { @override State createState..
HTTP 통신으로 뉴스 불러오기 — http 패키지와 JSON 파싱 완전정복
·
Flutter/Flutter 뉴스 앱 만들기
뉴스 앱을 만들 때, 데이터를 어디선가 불러와야 한다.그 어디선가는 보통 API 서버이고, 데이터를 JSON 형태로 내려준다.그리고 Flutter에서는 http 패키지로 이 JSON 데이터를 가져와서 보여줄 수 있다.이 글에서는 http 패키지를 사용하는 방법부터, JSON 파싱, 모델 클래스 구성까지 실전 예제로 정리해본다.📦 http 패키지 설치하기// pubspec.yamldependencies: http: ^0.13.5설치 후에는 반드시 flutter pub get을 해줘야 한다.🌐 예시 API 호출해보기import 'package:http/http.dart' as http;import 'dart:convert';Future fetchNews() async { final response =..
뉴스 앱 UI 설계 — 카드형 vs 리스트형 어떤 게 더 좋을까?
·
Flutter/Flutter 뉴스 앱 만들기
뉴스 앱을 만들다 보면 반드시 부딪히는 고민이 있다.“뉴스 목록을 카드형으로 보여줄까, 리스트형으로 보여줄까?”보기에는 카드형이 감성 있고 예쁜데, 리스트형은 뭔가 더 깔끔하고 정보 전달이 빠르다.이 글에서는 두 UI 패턴의 특징과 선택 기준을 비교해보려 한다.🃏 카드형 UI란?카드형 UI는 각 콘텐츠를 독립된 카드 형태로 표현하는 디자인이다.이미지, 제목, 날짜 등을 하나의 카드로 묶어 콘텐츠를 시각적으로 구분해준다.장점디자인적으로 감각적이고 현대적터치 대상이 넓어 모바일 UX에 좋음정보를 묶어서 보여줄 수 있어 시선 집중 유도단점스크롤 시 효율성 낮음 (동시에 많이 못 보여줌)컨텐츠 간 시각적 연속성이 떨어짐데이터가 많을 경우 로딩 속도, 배터리 영향 큼📄 리스트형 UI란?리스트형 UI는 콘텐츠를..