아이콘과 애니메이션으로 날씨 표현 개선

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

기온, 상태, 습도 같은 날씨 데이터는 숫자로도 표현할 수 있지만, 아이콘과 애니메이션이 함께할 때 훨씬 직관적이고 감성적이다.

이번 글에서는 Flutter에서 날씨 상태별 아이콘과 Lottie 애니메이션을 적용해 UI를 생동감 있게 만드는 방법을 알아보자.


🌤️ OpenWeather 날씨 코드 이해하기

OpenWeather API는 상태에 따라 icon 또는 main 값을 반환한다:

"weather": [
  {
    "main": "Rain",
    "description": "light rain",
    "icon": "10d"
  }
]

이 값을 기반으로 이미지 또는 애니메이션 리소스를 연결한다.


📌 날씨 상태별 아이콘 매핑

String getWeatherIcon(String main) {
  switch (main) {
    case 'Clear':
      return 'assets/icons/sun.png';
    case 'Clouds':
      return 'assets/icons/cloud.png';
    case 'Rain':
      return 'assets/icons/rain.png';
    case 'Snow':
      return 'assets/icons/snow.png';
    case 'Thunderstorm':
      return 'assets/icons/thunder.png';
    default:
      return 'assets/icons/default.png';
  }
}

간단한 Image.asset()으로 날씨 상태에 따라 알맞은 아이콘을 노출시킬 수 있다.


🎞️ Lottie 애니메이션 활용

정적인 이미지보다 더 생생한 날씨 표현이 필요하다면 Lottie 애니메이션을 사용해보자.

// pubspec.yaml
dependencies:
  lottie: ^2.6.0
String getLottieAsset(String main) {
  switch (main) {
    case 'Clear':
      return 'assets/lottie/sunny.json';
    case 'Clouds':
      return 'assets/lottie/cloudy.json';
    case 'Rain':
      return 'assets/lottie/rain.json';
    case 'Snow':
      return 'assets/lottie/snow.json';
    default:
      return 'assets/lottie/default.json';
  }
}
Lottie.asset(
  getLottieAsset(weatherMain),
  width: 150,
  repeat: true,
  animate: true,
)

Lottie JSON 파일은 LottieFiles에서 쉽게 구할 수 있다.


🎨 감성 디자인 팁

  • 맑음 → 햇살이 퍼지는 애니메이션
  • 비 → 물방울 떨어지는 효과
  • 눈 → 하늘에서 눈이 흩날리는 모션
  • 아이콘/애니메이션 색상은 배경과 조화롭게

UI 배경과 어울리는 밝기나 애니메이션 색상 조정도 중요하다.


🧘 마무리하며

Flutter로 만드는 날씨 앱이 더 사람다운 이유는 데이터에 감정을 입힐 수 있기 때문이다.

정적인 숫자 대신 움직이는 구름, 따뜻한 햇살, 촉촉한 비로 표현해보자.
보는 순간 느껴지는 날씨가 진짜 앱의 매력이다.

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

728x90
반응형

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

단위 설정 (섭씨/화씨) 변경 기능 구현  (0) 2025.06.16
즐겨찾는 도시 날씨 추가 및 리스트 보기  (0) 2025.06.15
온도, 습도, 바람 정보 시각화하기  (0) 2025.06.13
날씨에 따라 배경 바꾸기 — 애니메이션과 날씨 감성 UI  (2) 2025.06.12
시간대별/주간 날씨 예보 표시  (0) 2025.06.11
'Flutter/Flutter 날씨 앱 만들기' 카테고리의 다른 글
  • 단위 설정 (섭씨/화씨) 변경 기능 구현
  • 즐겨찾는 도시 날씨 추가 및 리스트 보기
  • 온도, 습도, 바람 정보 시각화하기
  • 날씨에 따라 배경 바꾸기 — 애니메이션과 날씨 감성 UI
코드를 걷는 사람
코드를 걷는 사람
devwanderer 님의 블로그 입니다.
  • 코드를 걷는 사람
    터미널 밖으로 나온 개발자
    코드를 걷는 사람
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Flutter
        • Flutter 게시판 앱 만들기
        • Flutter 뉴스 앱 만들기
        • Flutter 메모 앱 만들기
        • Flutter 캘린더 앱 만들기
        • Flutter 날씨 앱 만들기
      • Next.js
      • Ruby On Rails
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

  • 반응형
    250x250
  • hELLO· Designed By정상우.v4.10.3
코드를 걷는 사람
아이콘과 애니메이션으로 날씨 표현 개선
상단으로

티스토리툴바