FLUTTER ECOSYSTEM

xiaweizi/flutter_weather_bg

豊かでクールな天気のダイナミック背景プラグイン

flutter_weather_bg のプロジェクト画像
Stars
184
Forks
31
最終プッシュ(UTC)
2026/05/12
プロジェクト状態
公開中
Weizi Xia GitHub avatar
GITHUB User

Weizi Xia ↗

In addition to my academic pursuits, I enjoy participating in various extracurricular activities such as sports, music, and volunteering. These activities have

言語DartHTMLSwiftKotlinObjective-C

技術トピック

このリポジトリが公開するパッケージ

使用している依存関係

依存関係一覧 3 件
  • flutter{"sdk":"flutter"}
  • flutter_test開発用{"sdk":"flutter"}
  • flutter_lints開発用^5.0.0

元の README

以下は英語原文のスナップショットです。最新版は GitHub をご覧ください。

README を開く / 閉じる

flutter_weather_bg

Pub Version Pub Likes License: MIT Platform

A rich and cool weather dynamic background plug-in, supporting 15 weather types.

中文文档

Used by SimplicityWeather to render weather backgrounds. If you want to try the app directly, download the APK here.

Features

  • 15 weather types: sunny, sunny night, cloudy, cloudy night, overcast, light/middle/heavy rain, light/middle/heavy snow, foggy, hazy, dusty and thunder
  • Dynamic width/height — the scene adapts automatically
  • Smooth cross-fade transition when the weather type changes
  • Pure Dart implementation (no native code); renders with CustomPainter on Flutter canvas

Supported platforms

Platform Status
Android ✅
iOS ✅
Web ✅
macOS ✅
Windows Not tested
Linux Not tested

Requirements

  • Flutter >= 3.0.0
  • Dart SDK >= 3.0.0 < 4.0.0 (null-safety)

Installation

Available on pub.dev. Add the dependency to your pubspec.yaml:

dependencies:
  flutter_weather_bg: ^3.1.0

Then run:

flutter pub get

And import it wherever you need:

import 'package:flutter_weather_bg/flutter_weather_bg.dart';

Usage

Drop a WeatherBg into your widget tree, and pass the desired weatherType together with a width and a height:

import 'package:flutter/material.dart';
import 'package:flutter_weather_bg/flutter_weather_bg.dart';

class WeatherDemo extends StatelessWidget {
  const WeatherDemo({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: WeatherBg(
        weatherType: WeatherType.thunder,
        width: MediaQuery.of(context).size.width,
        height: MediaQuery.of(context).size.height,
      ),
    );
  }
}

Switching weatherType at runtime will automatically trigger a cross-fade animation.

A full demo (covering PageView, ListView, GridView, size animation and type switching) lives in example/.

Preview

Regular PageView effect

home

ListView effect

list

GridView effect with a dynamically-switchable column count

grid

Dynamic size demonstration

width_height

Weather type cross-fade transition

transition

Contributing

Issues and pull requests are welcome — feel free to open one on the issue tracker.

If you want to run the example locally:

git clone https://github.com/xiaweizi/flutter_weather_bg.git
cd flutter_weather_bg/example
flutter pub get
flutter run              # or: flutter run -d chrome

License

Released under the MIT License. Copyright © 2020-2026 xiaweizi.

Star History

Star History Chart