Flutter 게시판 앱 만들기 — Scaffold, AppBar, BottomNavigationBar 완전 이해하기

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

앱을 만든다는 건 결국 화면을 구성하는 일이다.
Flutter에서는 이 화면을 구성할 때 가장 기본이 되는 구조가 있다. 바로 Scaffold다.

이번 글에서는 Flutter 게시판 앱의 첫 화면을 구성하면서 앱의 뼈대를 만들어볼 거다.
마치 텅 빈 공책 위에 선을 긋고, 테두리를 그리는 느낌처럼 말이다.


🧱 Scaffold란?

Flutter에서 화면의 기본 틀을 잡아주는 위젯이다.
AppBar, Body, Drawer, BottomNavigationBar 등 주요 구성 요소를 한 번에 담을 수 있다.

Scaffold(
  appBar: AppBar(
    title: Text('Flutter 게시판'),
  ),
  body: Center(
    child: Text('내용이 여기에 들어갑니다'),
  ),
  bottomNavigationBar: BottomNavigationBar(...),
)

🎨 기본 레이아웃 설계

이제 실제로 앱을 실행해보자. 아래와 같은 코드를 main.dart에 작성하면 홈 화면이 구성된다.

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter 게시판',
      theme: ThemeData(primarySwatch: Colors.teal),
      home: HomeScreen(),
    );
  }
}

class HomeScreen extends StatefulWidget {
  @override
  _HomeScreenState createState() => _HomeScreenState();
}

class _HomeScreenState extends State<HomeScreen> {
  int _selectedIndex = 0;

  void _onItemTapped(int index) {
    setState(() {
      _selectedIndex = index;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter 게시판'),
      ),
      body: Center(
        child: Text(
          '현재 페이지: $_selectedIndex',
          style: TextStyle(fontSize: 18),
        ),
      ),
      bottomNavigationBar: BottomNavigationBar(
        currentIndex: _selectedIndex,
        onTap: _onItemTapped,
        items: const [
          BottomNavigationBarItem(icon: Icon(Icons.home), label: '홈'),
          BottomNavigationBarItem(icon: Icon(Icons.create), label: '글쓰기'),
          BottomNavigationBarItem(icon: Icon(Icons.settings), label: '설정'),
        ],
      ),
    );
  }
}

이 코드를 실행하면 앱 상단에는 AppBar가, 하단에는 BottomNavigationBar가 나타나고,
가운데엔 현재 선택된 페이지 번호가 출력된다.


🛠 구성 요소 정리

  • AppBar: 앱의 상단 제목바
  • Body: 실질적인 화면 내용
  • BottomNavigationBar: 하단 탭 메뉴

이 세 가지를 통해 앞으로의 게시판 UI를 계속해서 확장해 나갈 수 있다.


🌱 다음 단계

다음 글에서는 게시판의 핵심, 바로 게시글 리스트 화면을 만들 것이다.
ListView.builder를 활용해서 동적인 글 목록을 어떻게 그릴 수 있는지 살펴보자.

Flutter 게시판의 진짜 시작은 이제부터다.


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

728x90
반응형

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

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

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

  • 반응형
    250x250
  • hELLO· Designed By정상우.v4.10.3
코드를 걷는 사람
Flutter 게시판 앱 만들기 — Scaffold, AppBar, BottomNavigationBar 완전 이해하기
상단으로

티스토리툴바