Flutter 게시판 앱 만들기 — Navigator 완전 정복 🌈

2025. 5. 20. 17:24·Flutter/Flutter 게시판 앱 만들기
728x90
반응형

사용자가 글을 클릭하면 어떤 화면이 떠야 할까?
당연히 글의 상세 내용이 보이는 화면으로 이동해야 한다.
Flutter에서는 이 동작을 Navigator로 처리한다.

이번 글에서는 Navigator의 사용법과 함께 실제 글 클릭 시 상세 페이지로 넘어가는 기능을 구현해 본다.


🧭 Navigator란?

Flutter에서 화면을 전환(페이지 이동)할 때 사용하는 내장 위젯이다.
기본적으로 스택(Stack) 구조를 사용하며, push/pop 방식으로 이동한다.

  • Navigator.push(): 새 페이지를 추가
  • Navigator.pop(): 현재 페이지를 제거하고 이전으로 돌아감

📄 상세 페이지 만들기

이전 글에서 만들었던 posts 리스트 중 하나를 눌렀을 때
글 상세 페이지로 이동하도록 만들어보자.

우선 PostDetailScreen을 새로 생성한다:

import 'package:flutter/material.dart';

class PostDetailScreen extends StatelessWidget {
  final String title;
  final String author;
  final String date;

  const PostDetailScreen({
    required this.title,
    required this.author,
    required this.date,
    super.key,
  });

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('상세 보기')),
      body: Padding(
        padding: const EdgeInsets.all(16.0),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            Text(title, style: TextStyle(fontSize: 22, fontWeight: FontWeight.bold)),
            SizedBox(height: 8),
            Text('작성자: $author'),
            Text('작성일: $date'),
            SizedBox(height: 16),
            Text('이곳에 게시글 내용을 출력할 수 있어요!'),
          ],
        ),
      ),
    );
  }
}

그다음, 기존 ListTile에 아래와 같이 Navigator.push 코드를 추가한다:

onTap: () {
  Navigator.push(
    context,
    MaterialPageRoute(
      builder: (context) => PostDetailScreen(
        title: post['title']!,
        author: post['author']!,
        date: post['date']!,
      ),
    ),
  );
},

이렇게 하면 글을 탭 했을 때 상세 화면으로 부드럽게 전환된다!


🔄 돌아가기

상세 페이지에서 AppBar의 뒤로 가기 버튼을 누르면
자동으로 이전 화면으로 돌아간다. 이것은 Navigator의 pop() 동작이다.


🌱 다음 단계

이제 글을 조회할 수 있게 되었으니, 다음 글에서는 직접 글을 작성하는 기능을 만들 것이다.

TextField, Form, 그리고 Validation까지. Flutter에서 입력 폼을 다루는 법을 배워보자.

✍️ 이 글은 터미널 밖으로 나온 개발자의 Flutter 앱 만들기 여정입니다.

728x90
반응형

'Flutter > Flutter 게시판 앱 만들기' 카테고리의 다른 글

Flutter 게시판 앱 만들기 — TextField와 Form으로 완성하는 입력 폼  (0) 2025.05.20
Flutter 게시판 앱 만들기 — 감성을 더한 부드러운 움직임 만들기  (0) 2025.05.20
Flutter 게시판 앱 만들기 — 반복되는 위젯을 더 똑똑하게 그리는 법  (0) 2025.05.20
Flutter 게시판 앱 만들기 — Scaffold, AppBar, BottomNavigationBar 완전 이해하기  (0) 2025.05.20
시작! Flutter 게시판 앱 만들기 — 환경 설정과 기본 구조 이해하기 🌱  (0) 2025.05.20
'Flutter/Flutter 게시판 앱 만들기' 카테고리의 다른 글
  • Flutter 게시판 앱 만들기 — TextField와 Form으로 완성하는 입력 폼
  • Flutter 게시판 앱 만들기 — 감성을 더한 부드러운 움직임 만들기
  • Flutter 게시판 앱 만들기 — 반복되는 위젯을 더 똑똑하게 그리는 법
  • Flutter 게시판 앱 만들기 — Scaffold, AppBar, BottomNavigationBar 완전 이해하기
코드를 걷는 사람
코드를 걷는 사람
devwanderer 님의 블로그 입니다.
  • 코드를 걷는 사람
    터미널 밖으로 나온 개발자
    코드를 걷는 사람
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Flutter
        • Flutter 게시판 앱 만들기
        • Flutter 뉴스 앱 만들기
        • Flutter 메모 앱 만들기
        • Flutter 캘린더 앱 만들기
        • Flutter 날씨 앱 만들기
      • Next.js
      • Ruby On Rails
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    flutter앱개발
    개발블로그
    UIUX
    코드를걷는사람
    뉴스앱
    flutter개발
    다크모드
    백엔드개발
    flutterui
    rails보안
    모바일앱개발
    fluttertips
    Nextjs
    flutter상태관리
    flutter디자인
    table_calendar
    날씨앱
    Flutter
    감성앱
    북마크기능
    RubyOnRails
    캘린더앱
    ActiveRecord
    UI디자인
    flutter기초
    메모앱
    flutter게시판
    openweather
    Firebase
    정적사이트
  • 최근 댓글

  • 최근 글

  • 반응형
    250x250
  • hELLO· Designed By정상우.v4.10.3
코드를 걷는 사람
Flutter 게시판 앱 만들기 — Navigator 완전 정복 🌈
상단으로

티스토리툴바