pullex 1.0.4 copy "pullex: ^1.0.4" to clipboard
pullex: ^1.0.4 copied to clipboard

A customizable pull-to-refresh widget for Flutter, based on pull_to_refresh with enhancements and bugfixes.

Pullex 🚀 #

A modern, flexible and production-ready Pull-To-Refresh & Load-More widget for Flutter.
Forked from flutter_pulltorefresh — rewritten and modernized for Flutter 3 & Dart 3 with improved architecture, localization, and full null-safety.


✨ What's New in 1.0.4 #

  • Improved localization and translations
  • Renamed PullexRefreshControllerRefreshController
  • Fixed all static analysis warnings (lints compliant)
  • Achieved 100% pub.dev score
  • Minor documentation and code cleanup

🔁 Migration from PullexRefreshControllerRefreshController #

⚠️ Starting from v1.0.1, the old class name PullexRefreshController has been renamed to RefreshController

❌ Before #

final controller = PullexRefreshController();

✅ After #

final controller = RefreshController();

💡 Tip: You only need to rename the class in your imports — no API behavior has changed.


⚙️ Features #

  • ✅ Modern architecture — Flutter 3.x & Dart 3 compatible
  • ✅ Ready-to-use headers:
    • BaseHeader
    • CustomHeader
    • MaterialClassicHeader
    • WaterDropHeader
    • StretchCircleHeader
    • TwoLevelHeader
  • ✅ Custom Footer support
  • ✅ LinkHeader / LinkFooter proxy support
  • ✅ Fully customizable and easy to integrate
  • ✅ 12 built-in localizations
  • ✅ Zero dependencies (pure Dart)
  • ✅ Production-ready — used in live apps

📦 Installation #

Add to your pubspec.yaml:

dependencies:
  pullex: ^1.0.4

🧩 Basic Usage #

import 'package:pullex/pullex.dart';

final controller = RefreshController();

SmartRefresher(
  controller: controller,
  enablePullDown: true,
  enablePullUp: true,
  header: const MaterialClassicHeader(),
  onRefresh: () async {
    // your refresh logic
    controller.refreshCompleted();
  },
  onLoading: () async {
    // your load more logic
    controller.loadComplete();
  },
  child: ListView.builder(
  itemCount: 30,
  itemBuilder: (_, i) => ListTile(title: Text('Item $i')),
  ),
);

🖼️ Examples #

Base Header Custom Header Load More Base Header Material Header
Base Header Custom Header Load More Base Header Material Header
Stretch Circle Header Two Level Refresh Water Drop Header
Stretch Header Two Level Refresh Water Drop Header

🌍 Localization #

Pullex supports 12 languages out of the box:

Language Code
English en
Chinese zh
French fr
Ukrainian uk
Italian it
Japanese ja
German de
Spanish es
Dutch nl
Swedish sv
Portuguese (Brazil) pt
Korean ko

Setup localization: #

MaterialApp(
  localizationsDelegates: [
    RefreshLocalizations.delegate,
    GlobalMaterialLocalizations.delegate,
    GlobalWidgetsLocalizations.delegate,
    GlobalCupertinoLocalizations.delegate,
  ],
  supportedLocales: [
    const Locale('en'),
    const Locale('uk'),
    const Locale('fr'),
    const Locale('de'),
    const Locale('es'),
    const Locale('pt'),
    const Locale('it'),
    const Locale('nl'),
    const Locale('sv'),
    const Locale('ko'),
    const Locale('ja'),
    const Locale('zh'),
  ],
)

🚚 Migration from flutter_pulltorefresh #

Pullex is a modernized fork of flutter_pulltorefresh, fully compatible with Flutter 3:

  • Cleaner and safer public API
  • Updated internal scroll physics
  • Improved headers and footers
  • Built-in localization
  • Actively maintained

📌 Example Project #

You can find a complete example in:

example/lib/ui/

Each header type has a dedicated example:

ui/base_header/base_header_example.dart
ui/custom_header/custom_header_example.dart
ui/load_more_base_header/load_more_base_header_example.dart
ui/material_header/material_header_example.dart
ui/stretch_header/stretch_header_example.dart
ui/two_level_refresh/two_level_refresh_example.dart
ui/water_drop_header/water_drop_header_example.dart

Run:

flutter run -d your_device

❤️ Contributing #

Contributions are welcome!
Feel free to open issues or submit PRs to improve Pullex.


📜 License #

MIT License — based on flutter_pulltorefresh
by Jpeng


Pullex — built for modern Flutter 🚀
Crafted with ❤️ by Drivecode Team

14
likes
150
points
851
downloads

Publisher

verified publisherdrivecode.com.ua

Weekly Downloads

A customizable pull-to-refresh widget for Flutter, based on pull_to_refresh with enhancements and bugfixes.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on pullex