날씨에 따라 배경 바꾸기 — 애니메이션과 날씨 감성 UI

2025. 6. 12. 09:00·Flutter/Flutter 날씨 앱 만들기
728x90
반응형

날씨 앱은 단순한 정보 앱을 넘어 하루의 분위기를 담아야 한다.
특히 날씨에 따라 배경 이미지나 애니메이션이 바뀌면 사용자에게 더 몰입감 있는 경험을 제공할 수 있다.

이번 글에서는 Flutter에서 날씨 상태에 따라 배경을 동적으로 변경하고, 애니메이션 효과까지 입히는 감성 UI를 만들어본다.


🌤️ 날씨 상태 기반 배경 전환

OpenWeather API에서 날씨 상태는 다음과 같이 전달된다:

"weather": [
  {
    "main": "Clear",
    "description": "clear sky",
    "icon": "01d"
  }
]

weather[0].main 값을 기준으로 배경을 매핑하면 된다.


🖼️ 상태별 배경 이미지 매핑

String getBackgroundAsset(String weather) {
  switch (weather) {
    case 'Clear':
      return 'assets/bg_clear.png';
    case 'Rain':
      return 'assets/bg_rain.png';
    case 'Clouds':
      return 'assets/bg_clouds.png';
    case 'Snow':
      return 'assets/bg_snow.png';
    default:
      return 'assets/bg_default.png';
  }
}

이미지는 BoxDecoration → backgroundImage 또는 Stack을 활용해 표시 가능.

Container(
  decoration: BoxDecoration(
    image: DecorationImage(
      image: AssetImage(getBackgroundAsset(currentWeather)),
      fit: BoxFit.cover,
    ),
  ),
)

🎞️ 애니메이션 효과 추가

✅ 1. Fade 전환

AnimatedSwitcher(
  duration: Duration(milliseconds: 800),
  child: Image.asset(
    getBackgroundAsset(currentWeather),
    key: ValueKey(currentWeather),
    fit: BoxFit.cover,
  ),
)

✅ 2. Lottie 애니메이션

// pubspec.yaml
dependencies:
  lottie: ^2.6.0
Lottie.asset(
  'assets/animations/rain.json',
  width: double.infinity,
  fit: BoxFit.cover,
  repeat: true,
)

Lottie는 눈, 비, 구름, 번개 등 다양한 애니메이션을 추가할 때 매우 유용하다.


💡 감성 UI 팁

  • 비 오는 날은 배경 + 흐린 텍스트 + 빗소리 조합
  • 맑은 날은 밝은 그라데이션 + 햇살 애니메이션
  • 애니메이션이 과하면 UX 저하 → 부드러운 전환에 집중

🧘 마무리하며

날씨 앱은 단순한 데이터 뷰어가 아니라 지금의 하늘을 담아내는 작은 창이다.

Flutter로 만드는 감성 날씨 앱에 애니메이션과 날씨 맞춤 배경을 더해보자.
앱을 켠 순간, 날씨가 느껴진다.

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

728x90
반응형

'Flutter > Flutter 날씨 앱 만들기' 카테고리의 다른 글

아이콘과 애니메이션으로 날씨 표현 개선  (1) 2025.06.14
온도, 습도, 바람 정보 시각화하기  (0) 2025.06.13
시간대별/주간 날씨 예보 표시  (0) 2025.06.11
위치 기반 날씨 정보 — GPS 권한 설정과 위치 사용  (0) 2025.06.10
OpenWeather API 연동하기 — 실시간 날씨 받아오기  (0) 2025.06.09
'Flutter/Flutter 날씨 앱 만들기' 카테고리의 다른 글
  • 아이콘과 애니메이션으로 날씨 표현 개선
  • 온도, 습도, 바람 정보 시각화하기
  • 시간대별/주간 날씨 예보 표시
  • 위치 기반 날씨 정보 — GPS 권한 설정과 위치 사용
코드를 걷는 사람
코드를 걷는 사람
devwanderer 님의 블로그 입니다.
  • 코드를 걷는 사람
    터미널 밖으로 나온 개발자
    코드를 걷는 사람
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Flutter
        • Flutter 게시판 앱 만들기
        • Flutter 뉴스 앱 만들기
        • Flutter 메모 앱 만들기
        • Flutter 캘린더 앱 만들기
        • Flutter 날씨 앱 만들기
      • Next.js
      • Ruby On Rails
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

  • 반응형
    250x250
  • hELLO· Designed By정상우.v4.10.3
코드를 걷는 사람
날씨에 따라 배경 바꾸기 — 애니메이션과 날씨 감성 UI
상단으로

티스토리툴바