FLUTTER ECOSYSTEM

xiaweizi/flutter_weather_bg

一個豐富且酷炫的天氣動態背景外掛

flutter_weather_bg 專案封面
Stars
184
Forks
31
最近推送(UTC)
2026年5月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