Flutter 게시판 앱 만들기 — 감성을 더한 부드러운 움직임 만들기

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

앱은 단순히 "기능"만 있어서는 부족하다.
사용자에게 감정을 주는 "움직임"이 있을 때, 비로소 완성된다.

이번 글에서는 Flutter에서 애니메이션을 활용하여 자연스럽고 감성적인 화면 전환을 만들어보자.
애니메이션을 더하면 앱이 훨씬 더 매력적으로 변한다.


🎞️ Hero 애니메이션

Hero는 두 화면 간 같은 위젯을 부드럽게 연결해주는 애니메이션이다.
예를 들어 게시글 목록에서 이미지나 제목이 상세 페이지로 부드럽게 확대되어 이동하는 효과를 줄 수 있다.

// 리스트 화면
Hero(
  tag: 'post-title-$index',
  child: Text(post['title']!),
)

// 상세 화면
Hero(
  tag: 'post-title-$index',
  child: Text(post['title']!, style: TextStyle(fontSize: 24)),
)

위처럼 tag 값만 같다면 자연스럽게 연결되어 이동한다.


🌀 AnimatedContainer

AnimatedContainer는 사이즈, 색상, 위치 등을 부드럽게 변화시킬 수 있다.

AnimatedContainer(
  duration: Duration(milliseconds: 300),
  width: isExpanded ? 300 : 150,
  height: 100,
  color: isExpanded ? Colors.teal : Colors.grey,
  curve: Curves.easeInOut,
)

단순한 버튼도 이런 효과를 넣으면 훨씬 부드럽고 고급스러워진다.


🌠 FadeTransition으로 부드럽게 나타나기

화면이 전환될 때 뚝 끊기듯 바뀌는 것이 아니라, 살짝 나타나는 애니메이션도 줄 수 있다.
FadeTransition은 AnimationController와 함께 사용한다.

class FadeIn extends StatefulWidget {
  @override
  _FadeInState createState() => _FadeInState();
}

class _FadeInState extends State<FadeIn> with SingleTickerProviderStateMixin {
  late AnimationController _controller;
  late Animation<double> _animation;

  @override
  void initState() {
    super.initState();
    _controller = AnimationController(
      duration: const Duration(seconds: 1),
      vsync: this,
    );
    _animation = CurvedAnimation(parent: _controller, curve: Curves.easeIn);
    _controller.forward();
  }

  @override
  Widget build(BuildContext context) {
    return FadeTransition(
      opacity: _animation,
      child: Text('Hello Flutter!'),
    );
  }
}

이 코드는 화면이 뜨면서 부드럽게 Hello Flutter! 텍스트가 나타나도록 한다.


🌱 다음 단계

지금까지 화면을 더 아름답게 꾸며줄 수 있는 Flutter의 기본 애니메이션을 배웠다.
이제 다음 글에서는 본격적으로 글쓰기 기능을 구현해볼 예정이다.

TextField, Form, 유효성 검사까지 함께 다뤄보자.

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

728x90
반응형

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

Flutter 게시판 앱 만들기 — 상태 관리와 SharedPreferences 적용하기  (0) 2025.05.21
Flutter 게시판 앱 만들기 — TextField와 Form으로 완성하는 입력 폼  (0) 2025.05.20
Flutter 게시판 앱 만들기 — Navigator 완전 정복 🌈  (0) 2025.05.20
Flutter 게시판 앱 만들기 — 반복되는 위젯을 더 똑똑하게 그리는 법  (0) 2025.05.20
Flutter 게시판 앱 만들기 — Scaffold, AppBar, BottomNavigationBar 완전 이해하기  (0) 2025.05.20
'Flutter/Flutter 게시판 앱 만들기' 카테고리의 다른 글
  • Flutter 게시판 앱 만들기 — 상태 관리와 SharedPreferences 적용하기
  • Flutter 게시판 앱 만들기 — TextField와 Form으로 완성하는 입력 폼
  • Flutter 게시판 앱 만들기 — Navigator 완전 정복 🌈
  • Flutter 게시판 앱 만들기 — 반복되는 위젯을 더 똑똑하게 그리는 법
코드를 걷는 사람
코드를 걷는 사람
devwanderer 님의 블로그 입니다.
  • 코드를 걷는 사람
    터미널 밖으로 나온 개발자
    코드를 걷는 사람
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Flutter
        • Flutter 게시판 앱 만들기
        • Flutter 뉴스 앱 만들기
        • Flutter 메모 앱 만들기
        • Flutter 캘린더 앱 만들기
        • Flutter 날씨 앱 만들기
      • Next.js
      • Ruby On Rails
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

  • 반응형
    250x250
  • hELLO· Designed By정상우.v4.10.3
코드를 걷는 사람
Flutter 게시판 앱 만들기 — 감성을 더한 부드러운 움직임 만들기
상단으로

티스토리툴바