fluttereasyhub

A pure flutter, supporting android and iOS, no native code, simpler loading animation, more than 20 existing animations, support for custom foreground and background colors.

easy use to use this package as a library

dependencies:
  flutter_easyhub: ^1.0.0

$ flutter pub get

import 'package:flutter_easyhub/flutter_easyhub.dart';

how to use

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      builder: (ctx, child) =>
          FlutterEasyHub(child: MyHomePage(title: 'Flutter Demo Home Page')),
    );
  }
}

then, enjoy yourself:


EasyHub.show('loading');
EasyHub.show('loading', duration: Duration(seconds: 2));

///toast 2s later dismiss
EasyHub.showInfoHub('network miss');

///default 2s
EasyHub.showMsg('download success');

///default 2s
EasyHub.showErrorHub('An error occurred');

///default 2s
EasyHub.showCompleteHub('done');

/// only hub without msg
/// when you did call EasyHub.dismiss(),it is dismissed;
EasyHub.showHub();

///dismiss
EasyHub.dismiss();

/// custom your widget
EasyHub.showCustom(Container(
child: Text('my test'),
));
  

used just like it

how to chose style

light

  • style:light
  • maskStyle:dark

dark

  • style:dark
  • maskStyle:light

change Progress bar color when EasyHubIndicatorType.defaultType

EasyHub.instance.indicatorType = EasyHubIndicatorType.defaultType;
EasyHub.instance
  ..backgroundColor = Colors.white
  ..animationForegroundColor = AlwaysStoppedAnimation(Colors.red)
  ..style = EasyHubStyle.custom;
EasyHub.showHub();

other EasyHubIndicatorType,you only

EasyHub.instance
  ..backgroundColor = Colors.white
  ..animationForegroundColor = AlwaysStoppedAnimation(Colors.red);

when you want touch widget,then hiden it.

/// only used for maskStyle!= none.
  EasyHub.instance.onTap = () {
      EasyHub.dismiss();
    };

Renderings Provide more than 30 animations

default CircularProgress showErrorHub showComplateHub
LineProgress CircularProgressEasyOutEasyIn CircularProgressEasy singleFlipingRect
beattingCircle singlebeattingCircle beatingRects rotatingCircles
rotatingDeformedCircles rotatingTwoRect rotatingTwoCircles foldingRect

pendulumingBall

waves
spitBubbles movingCube
rotatingTwoColorBall dancingBall flashingBallsfallingBall

hourglass
dancingCube swingingBall creepingBug

rubberBand
rainCouplet flipDiamond
fragmentRect

Customize

/// just available when [EasyHubType] is [msg]

  String msg;

  /// msg of padding ,used for [EasyHubType.all] and [EasyHubType.msg]
  EdgeInsets msgPadding;

  /// msg of margin ,used for [EasyHubType.all] and [EasyHubType.msg]
  EdgeInsets msgMargin;

  ///  style of msg,used for [EasyHubStyle.custom]
  TextStyle textStyle;

  ///  color of msg font,used for [EasyHubStyle.custom]
  ///  if textStyle is not null, it is ignored
  Color fontColor;

  ///maskStyle. default [EasyHubMaskStyle.dark]
  EasyHubMaskStyle maskStyle;

  /// center view style
  /// default [EasyHubType.all]
  EasyHubStyle style;

  /// loading indicator type, default  [EasyHubType.all]
  EasyHubType _easyHubType;

  /// Animation type
  /// see detail in [EasyHubIndicatorType]
  /// when [EasyHubType] is [hub] or [all],it is available.

  EasyHubIndicatorType indicatorType;

  /// color of Mask,only used for [EasyHubMaskStyle.custom]
  Color maskColor;

  ///color of  main View background
  /// used  for [EasyHubStyle.custom]
  Color backgroundColor;

  ///color of main animation background
  ///used for most of  [EasyHubIndicatorType]
  ///when animationWidget colors more than [two], ignored.
  Color animationBackgroundColor;

  /// main animation foreground color,type is [Animation<Color>]
  /// like[AlwaysStoppedAnimation]
  /// used for most of  [EasyHubIndicatorType]
  ///  when animationWidget colors more than [two], ignored.
  Animation<Color> animationForegroundColor;

  /// animation progress value [bounds] is [0...1]
  /// used for   [EasyHubIndicatorType.lineProgress]
  /// TODO - [EasyHubIndicatorType.waves]
  double progress; //进度条
  /// display duration of [showSuccess] [showErrorHub] [showCompleteHub], default 2000ms.
  Duration displayDuration;

  /// touch action
  /// you can set dismissed when touch
  /// ```dark
  /// EasyHub.instance.onTap = () {
  ///        EasyHub.dismiss();
  ///      };
  /// ```
  GestureTapCallback onTap;

see example

enjoy youself with animation if you only like animations;

any animation is widget,you can use it ,see detail

喜欢的可以✨哦

License

MIT LICENSE

CHANGELOG

CHANGELOG

Libraries

HubContainer
Util
activityIndicator
config
easyHub
easyHubTheme
easy_beating_circle
easy_beating_rects
easy_creeping_bug
easy_custom_painter
easy_dancing_ball
easy_dancing_cube
easy_falling_ball
easy_flashing_circles
easy_flip_diamond
easy_fliping_rect
easy_folding_rect
easy_fragment_rect
easy_hourglass_timer
easy_moving_cube
easy_pendulum_ball
easy_progress_widget
easy_rain_couplet
easy_rotating_circles
easy_rotating_two_circles
easy_rotating_two_color_circles
easy_rotating_two_rect
easy_rubber_band
easy_spit_bubbles
easy_swimming_ball
easy_waves
flutter_easy_hub
flutter_main_hub