Git Product home page Git Product logo

flutter_spinkit's Introduction

✨ Flutter Spinkit

Format, Analyze and Test codecov pub package

A collection of loading indicators animated with flutter. Heavily inspired by @tobiasahlin's SpinKit.

🎖 Installing

dependencies:
  flutter_spinkit: ^5.2.1

⚡️ Import

import 'package:flutter_spinkit/flutter_spinkit.dart';

🎮 How To Use

const spinkit = SpinKitRotatingCircle(
  color: Colors.white,
  size: 50.0,
);
final spinkit = SpinKitFadingCircle(
  itemBuilder: (BuildContext context, int index) {
    return DecoratedBox(
      decoration: BoxDecoration(
        color: index.isEven ? Colors.red : Colors.green,
      ),
    );
  },
);
final spinkit = SpinKitSquareCircle(
  color: Colors.white,
  size: 50.0,
  controller: AnimationController(vsync: this, duration: const Duration(milliseconds: 1200)),
);

For more info, please, refer to the showcase.dart in the example.

🚀 Showcase


RotatingPlain

DoubleBounce

Wave

WanderingCubes

FadingFour

FadingCube

Pulse

ChasingDots

ThreeBounce

Circle

CubeGrid

FadingCircle

RotatingCircle

FoldingCube

PumpingHeart

HourGlass

PouringHourGlass

PouringHourGlassRefined

FadingGrid

Ring

Ripple

SpinningCircle

SpinningLines

SquareCircle

DualRing

PianoWave

DancingSquare

ThreeInOut

WaveSpinner

PulsingGrid

Some GIF images gotten from Android Spinkit.

🐛 Bugs/Requests

If you encounter any problems feel free to open an issue. If you feel the library is missing a feature, please raise a ticket on Github and I'll look into it. Pull request are also welcome.

❗️ Note

For help getting started with Flutter, view our online documentation.

For help on editing plugin code, view the documentation.

☀️ Authors

Jeremiah Ogbomo

Ayush Agarwal

⭐️ License

MIT License

flutter_spinkit's People

Contributors

aagarwal1012 avatar ashishbeck avatar avadhkumar-geek avatar caijinglong avatar ened avatar jasperessien2 avatar jogboms avatar martiliones avatar outdatedguy avatar payam-zahedi avatar sagemik avatar sh-cho avatar vanshg395 avatar xaldarof avatar xyzbilal avatar y0av avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flutter_spinkit's Issues

PuringHourglass widget does not animate on web mobile browsers

If an app with the PouringHourglass widget is deployed to the web and opened on a mobile browser such as Safari or Android Chrome, the PouringHourglass widget doesn't show the animation.

As a workaround, If I request the DesktopVersion of the webApp, then it automates correctly but that's quite inconvenient.

Null safety

Hi! thanks for package. Can you publish null-safety to prerelease in pub.dev like other packages? Thanks )

Refactor: add mask when show loading

when show loading, use can click button or other widgets, actually user cannot touch in the loading. So i want to add mask. how to do it ?

Describe the bug
A clear and concise description of what the bug is.

SpinKit name
The name of the loader with which this bug occurred.

Screenshots
If applicable, add screenshots to help explain your problem.

Error: AnimationController not disposed, leak on the Ticker

Hi,

I got an error while using the lib.
Basically, I just put a loading Widget and then called a setstate() that would have cleaned it away. (upload view)

The main issue, it seems to me, is in this point of the source code, SpinKitPouringHourglass class:

  @override
  void dispose() {
    super.dispose();
    _controller.dispose();
  }

The controller seems not disposed, because the object containing the controller is disposed first (via super()). Maybe it should be:

  @override
  void dispose() {
    _controller.dispose();
    super.dispose();
  }

Here is some log:

════════ Exception caught by widgets library ═══════════════════════════════════
The following assertion was thrown while finalizing the widget tree:
_SpinKitPouringHourglassState#e76fa(ticker active) was disposed with an active Ticker.

_SpinKitPouringHourglassState created a Ticker via its SingleTickerProviderStateMixin, but at the time dispose() was called on the mixin, that Ticker was still active. The Ticker must be disposed before calling super.dispose().

Tickers used by AnimationControllers should be disposed by calling dispose() on the AnimationController itself. Otherwise, the ticker will leak.

The offending ticker was: Ticker(created by _SpinKitPouringHourglassState#e76fa(lifecycle state: created))
The stack trace when the Ticker was actually created was:
#0      new Ticker.<anonymous closure> (package:flutter/src/scheduler/ticker.dart:67:40)
#1      new Ticker (package:flutter/src/scheduler/ticker.dart:69:6)
#2      SingleTickerProviderStateMixin.createTicker (package:flutter/src/widgets/ticker_provider.dart:131:15)
#3      new AnimationController (package:flutter/src/animation/animation_controller.dart:248:21)
#4      _SpinKitPouringHourglassState.initState (package:flutter_spinkit/src/pouring_hour_glass.dart:33:23)
#5      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4765:58)
#6      ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5)
#7      Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
#8      Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
#9      RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:5705:32)
#10     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6246:17)
#11     Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
#12     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6125:14)
#13     Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
#14     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
#15     Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
#16     StatelessElement.update (package:flutter/src/widgets/framework.dart:4708:5)
#17     Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
#18     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
#19     Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
#20     ProxyElement.update (package:flutter/src/widgets/framework.dart:4987:5)
#21     Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
#22     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
#23     Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
#24     ProxyElement.update (package:flutter/src/widgets/framework.dart:4987:5)
#25     Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
#26     RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:5647:32)
#27     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6246:17)
#28     Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
#29     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
#30     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
#31     Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
#32     StatefulElement.update (package:flutter/src/widgets/framework.dart:4832:5)
#33     Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
#34     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
#35     Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
#36     ProxyElement.update (package:flutter/src/widgets/framework.dart:4987:5)
#37     Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
#38     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
#39     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
#40     Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
#41     StatefulElement.update (package:flutter/src/widgets/framework.dart:4832:5)
#42     Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
#43     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6125:14)
#44     Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
#45     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
#46     Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
#47     StatelessElement.update (package:flutter/src/widgets/framework.dart:4708:5)
#48     Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
#49     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6125:14)
#50     Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
#51     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
#52     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
#53     Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
#54     StatefulElement.update (package:flutter/src/widgets/framework.dart:4832:5)
#55     Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
#56     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
#57     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
#58     Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
#59     StatefulElement.update (package:flutter/src/widgets/framework.dart:4832:5)
#60     Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
#61     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
#62     Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
#63     ProxyElement.update (package:flutter/src/widgets/framework.dart:4987:5)
#64     Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
#65     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
#66     Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
#67     ProxyElement.update (package:flutter/src/widgets/framework.dart:4987:5)
#68     Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
#69     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
#70     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
#71     Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
#72     StatefulElement.update (package:flutter/src/widgets/framework.dart:4832:5)
#73     Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
#74     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
#75     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
#76     Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
#77     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2730:33)
#78     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:913:20)
#79     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:302:5)
#80     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1117:15)
#81     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1055:9)
#82     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:971:5)
#86     _invoke (dart:ui/hooks.dart:251:10)
#87     _drawFrame (dart:ui/hooks.dart:209:3)
(elided 3 frames from dart:async)
When the exception was thrown, this was the stack
#0      SingleTickerProviderStateMixin.dispose.<anonymous closure>
package:flutter/…/widgets/ticker_provider.dart:144
#1      SingleTickerProviderStateMixin.dispose
package:flutter/…/widgets/ticker_provider.dart:158
#2      _SpinKitPouringHourglassState.dispose
package:flutter_spinkit/src/pouring_hour_glass.dart:52
#3      StatefulElement.unmount
package:flutter/…/widgets/framework.dart:4854
#4      _InactiveElements._unmount
package:flutter/…/widgets/framework.dart:1998
... infinite errors

Fix outdated example code in the README

Describe the bug
It appears the example code in the README is outdated.

This doesn't work:

SpinKitRotatingCircle(
  color: Colors.white,
  width: 50.0,
  height: 50.0,
);

This does work:

SpinKitRotatingCircle(
  color: Colors.white,
  size: 50.0,
);

SpinKit name
SpinKitRotatingCircle

SpinKitCubeGrid not working as showcased

SpinKitCubeGrid plays a back-and-forth animation, with the cubes disappearing from bottom left and then reappearing from top right, instead of reappearing from bottom left as the gif in README.md shows.

Need 5.0 for the install instructions

The install instructions in pub.dev still say 4.x and it gives null error.
It is fixed by making the version 5.0

Youtube comment from net ninja beginner flutter lesson 31
Remember to install null safe version (5.0.0), cause on ReadMe page in installation section they still mention "^4.1.2" ver:
dependencies:
flutter_spinkit: "^5.0.0"

Stops spinning while analysing data in async job

Describe the bug
It's works fine, as long as i don't start a async job that not just loads data, but also deals with it. So in my case, i make a request to a server, but then also do some quick analysis of a big string that takes a few seconds. When the analysis starts, it stops spinning. It should not be overloaded.... it's just one other async function that triggers it.

SpinKit name
All.

Screenshots
Nothing to show, it just stops.

Custom Painters!

Planning on a complete rewrite from animated Widgets to CustomPaints. I believe this would have some improved performance. Anyone can help out if need be.

Add More Animations Please.

I've used most of the animations in my recent apps. Now I want to have some more beautiful animations or styles for spinkit. Can you do that please.

Colors

Can i configure a set of colors ?

Animation not working properly

Describe the bug
You can see it. I'm using API level 29 and Flutter 1.12

SpinKit name
WanderingCubes (but also happend DoubleBounce, so maybe happens with all SpinKits)

Screenshots
(Ignore the speed -- recording issues)
spinkit.gif

flutter analyze error 4.1.0: NoSuchMethodError: The method 'accept' was called on null.

Describe the bug

I upgraded flutter_spinkit 4.1.0 from 4.0.0.
I run flutter analyze, and have following error.

error log
Running "flutter pub get" in my-app...                        8.5s
Analyzing my-app...
Error from the analysis server: Exception while using a PreferConstConstructors to visit a InstanceCreationExpressionImpl in ReturnStatementImpl in BlockImpl in BlockFunctionBodyImpl in MethodDeclarationImpl in ClassDeclarationImpl in CompilationUnitImpl

NoSuchMethodError: The method 'accept' was called on null.
Receiver: null
Tried calling: accept<DartObjectImpl>(Instance of 'ConstantVisitor')
#0      Object.noSuchMethod (dart:core-patch/object_patch.dart:51:5)
#1      ConstantEvaluationEngine.evaluateConstructorCall (package:analyzer/src/dart/constant/evaluation.dart:717:53)
#2      ConstantVerifier.visitInstanceCreationExpression (package:analyzer/src/dart/constant/constant_verifier.dart:134:27)
#3      InstanceCreationExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:6180:15)
#4      LinterContextImpl._hasConstantVerifierError (package:analyzer/src/lint/linter.dart:322:10)
#5      LinterContextImpl.canBeConst (package:analyzer/src/lint/linter.dart:290:15)
#6      _Visitor.visitInstanceCreationExpression (package:linter/src/rules/prefer_const_constructors.dart:95:19)
#7      InstanceCreationExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:6180:15)
#8      LinterVisitor._runSubscriptions (package:analyzer/src/lint/linter_visitor.dart:713:14)
#9      LinterVisitor.visitInstanceCreationExpression (package:analyzer/src/lint/linter_visitor.dart:383:5)
#10     InstanceCreationExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:6180:15)
#11     ReturnStatementImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:8638:18)
#12     RecursiveAstVisitor.visitReturnStatement (package:analyzer/dart/ast/visitor.dart:1164:10)
#13     LinterVisitor.visitReturnStatement (package:analyzer/src/lint/linter_visitor.dart:541:11)
#14     ReturnStatementImpl.accept (package:analyzer/src/dart/ast/ast.dart:8634:49)
#15     NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7670:20)
#16     BlockImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:1115:17)
#17     RecursiveAstVisitor.visitBlock (package:analyzer/dart/ast/visitor.dart:665:10)
#18     LinterVisitor.visitBlock (package:analyzer/src/lint/linter_visitor.dart:66:11)
#19     BlockImpl.accept (package:analyzer/src/dart/ast/ast.dart:1111:49)
#20     BlockFunctionBodyImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:1070:13)
#21     RecursiveAstVisitor.visitBlockFunctionBody (package:analyzer/dart/ast/visitor.dart:671:10)
#22     LinterVisitor.visitBlockFunctionBody (package:analyzer/src/lint/linter_visitor.dart:72:11)
#23     BlockFunctionBodyImpl.accept (package:analyzer/src/dart/ast/ast.dart:1066:49)
#24     MethodDeclarationImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:7110:12)
#25     RecursiveAstVisitor.visitMethodDeclaration (package:analyzer/dart/ast/visitor.dart:1061:10)
#26     LinterVisitor.visitMethodDeclaration (package:analyzer/src/lint/linter_visitor.dart:450:11)
#27     MethodDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:7101:49)
#28     NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7670:20)
#29     ClassDeclarationImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:1584:13)
#30     RecursiveAstVisitor.visitClassDeclaration (package:analyzer/dart/ast/visitor.dart:701:10)
#31     LinterVisitor.visitClassDeclaration (package:analyzer/src/lint/linter_visitor.dart:102:11)
#32     ClassDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:1554:49)
#33     NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7670:20)
#34     CompilationUnitImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:2161:21)
#35     RecursiveAstVisitor.visitCompilationUnit (package:analyzer/dart/ast/visitor.dart:725:10)
#36     LinterVisitor.visitCompilationUnit (package:analyzer/src/lint/linter_visitor.dart:126:11)
#37     CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2140:49)
#38     LibraryAnalyzer._computeLints (package:analyzer/src/dart/analysis/library_analyzer.dart:353:10)
#39     LibraryAnalyzer.analyzeSync.<anonymous closure> (package:analyzer/src/dart/analysis/library_analyzer.dart:206:11)
#40     _PerformanceTagImpl.makeCurrentWhile (package:analyzer/src/generated/utilities_general.dart:258:15)
#41     LibraryAnalyzer.analyzeSync (package:analyzer/src/dart/analysis/library_analyzer.dart:201:35)
#42     LibraryAnalyzer.analyze.<anonymous closure> (package:analyzer/src/dart/analysis/library_analyzer.dart:115:14)
#43     _PerformanceTagImpl.makeCurrentWhile (package:analyzer/src/generated/utilities_general.dart:258:15)
#44     LibraryAnalyzer.analyze (package:analyzer/src/dart/analysis/library_analyzer.dart:114:43)
#45     AnalysisDriver._computeAnalysisResult.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1259:63)
#46     PerformanceLog.run (package:analyzer/src/dart/analysis/performance_logger.dart:34:15)
#47     AnalysisDriver._computeAnalysisResult (package:analyzer/src/dart/analysis/driver.dart:1235:20)
#48     AnalysisDriver.performWork (package:analyzer/src/dart/analysis/driver.dart:1065:33)
<asynchronous suspension>
#49     AnalysisDriverScheduler._run (package:analyzer/src/dart/analysis/driver.dart:1921:24)
<asynchronous suspension>
#50     AnalysisDriverScheduler.start (package:analyzer/src/dart/analysis/driver.dart:1855:5)
#51     new AnalysisServer (package:analysis_server/src/analysis_server.dart:212:29)
#52     SocketServer.createAnalysisServer (package:analysis_server/src/socket_server.dart:86:26)
#53     StdioAnalysisServer.serveStdio (package:analysis_server/src/server/stdio_server.dart:37:18)
#54     Driver.startAnalysisServer.<anonymous closure> (package:analysis_server/src/server/driver.dart:572:21)
#55     _rootRun (dart:async/zone.dart:1124:13)
#56     _CustomZone.run (dart:async/zone.dart:1021:19)
#57     _runZoned (dart:async/zone.dart:1516:10)
#58     runZoned (dart:async/zone.dart:1463:12)
#59     Driver._captureExceptions (package:analysis_server/src/server/driver.dart:689:12)
#60     Driver.startAnalysisServer (package:analysis_server/src/server/driver.dart:570:7)
#61     Driver.start.<anonymous closure> (package:analysis_server/src/server/driver.dart:474:9)
#62     _AsyncAwaitCompleter.start (dart:async-patch/async_patch.dart:43:6)
#63     Driver.start.<anonymous closure> (package:analysis_server/src/server/driver.dart:469:43)
#64     CompilerContext.runInContext.<anonymous closure>.<anonymous closure> (package:front_end/src/fasta/compiler_context.dart:122:46)
#65     new Future.sync (dart:async/future.dart:224:31)
#66     CompilerContext.runInContext.<anonymous closure> (package:front_end/src/fasta/compiler_context.dart:122:19)
#67     _rootRun (dart:async/zone.dart:1124:13)
#68     _CustomZone.run (dart:async/zone.dart:1021:19)
#69     _runZoned (dart:async/zone.dart:1516:10)
#70     runZoned (dart:async/zone.dart:1463:12)
#71     CompilerContext.runInContext (package:front_end/src/fasta/compiler_context.dart:121:12)
#72     CompilerContext.runWithDefaultOptions (package:front_end/src/fasta/compiler_context.dart:140:56)
#73     Driver.start (package:analysis_server/src/server/driver.dart:469:21)
#74     main (file:///b/s/w/ir/k/src/third_party/dart/pkg/analysis_server/bin/server.dart:12:11)
#75     _AsyncAwaitCompleter.start (dart:async-patch/async_patch.dart:43:6)
#76     main (file:///b/s/w/ir/k/src/third_party/dart/pkg/analysis_server/bin/server.dart:10:10)
#77     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:303:32)
#78     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)


Server error(s) occurred. (ran in 16.3s)
Exited with code 1

workaround

I downgrade flutter_spinkit 4.0.0, so I have no error.

Use SpinKitRipple without MaterialApp context may crash

I run an app started with a Container as the root widget and SpinKitRipple as it's child widget the app does not render and it crashes.

I've tried a few other indicators and they are working fine without the MaterialApp context, then I tried to wrap SpinKitRipple as a child of MaterialApp and it renders correctly.

PouringHourGlass or PouringHourglass ?

Describe the bug
Showcase on [https://pub.dev/packages/flutter_spinkit] shows PouringHourGlass to call spinner but it's coded by PouringHourglass

SpinKit name
PouringHourGlass

Screenshots
image

image

[Request] Hope to expose AnimationController

I have a requirement to control the playback and pause of animation, so I hope to provide a parameter to pass AnimationController, so that I can control when the animation is played and when it is paused.

WaveSpinner is not working

Describe the bug
Hi, I really like your library, I think it is beautiful and very useful. However, I am having some trouble with SpinKitWaveSpinner class. It is not visible on vscode suggestions and I can't go to definition of the class. It looks like this class doesn't exist. (I tried exporting it in flutter_spinkit.dart but problem still exists.) Maybe you forget to publish it? (I am using version 5.1.0) Can you take a look? Thanks in advance.

SpinKit name
SpinKitWaveSpinner

Some GIFs not loading on pub site

Describe the bug
Probably nothing you can do about it, but just in case you weren't aware, some GIFs don't load on pub.dartlang.org, but load on Github

SpinKit name
The name of the loader with which this bug occurred.

Screenshots
screen shot 2018-10-13 at 9 19 42 pm

The method 'reverse' was called on null

Describe the bug
I'm getting the following exception

The method 'reverse' was called on null

after the animation stops showing.

The stacktrace looks like this (and goes on and on like this for 500 lines):

I/flutter (11044): ══╡ EXCEPTION CAUGHT BY ANIMATION LIBRARY ╞═════════════════════════════════════════════════════════
I/flutter (11044): The following NoSuchMethodError was thrown while notifying status listeners for AnimationController:
I/flutter (11044): The method 'reverse' was called on null.
I/flutter (11044): Receiver: null
I/flutter (11044): Tried calling: reverse()
I/flutter (11044): 
I/flutter (11044): When the exception was thrown, this was the stack:
I/flutter (11044): #0      Object.noSuchMethod (dart:core-patch/object_patch.dart:51:5)
I/flutter (11044): #1      autoReverseFn.<anonymous closure> (package:flutter_spinkit/src/utils.dart:8:27)
I/flutter (11044): #2      AnimationLocalStatusListenersMixin.notifyStatusListeners (package:flutter/src/animation/listener_helpers.dart:193:19)
I/flutter (11044): #3      AnimationController._checkStatusChanged (package:flutter/src/animation/animation_controller.dart:753:7)
I/flutter (11044): #4      AnimationController._animateToInternal (package:flutter/src/animation/animation_controller.dart:585:7)
I/flutter (11044): #5      AnimationController.forward (package:flutter/src/animation/animation_controller.dart:458:12)
I/flutter (11044): #6      _SpinKitCubeGridState.initState (package:flutter_spinkit/src/cube_grid.dart:37:9)
I/flutter (11044): #7      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4068:58)
I/flutter (11044): #8      ComponentElement.mount (package:flutter/src/widgets/framework.dart:3919:5)
I/flutter (11044): #9      Element.inflateWidget (package:flutter/src/widgets/framework.dart:3101:14)
I/flutter (11044): #10     Element.updateChild (package:flutter/src/widgets/framework.dart:2904:12)
I/flutter (11044): #11     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5127:14)
I/flutter (11044): #12     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3101:14)
I/flutter (11044): #13     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5233:32)
I/flutter (11044): #14     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3101:14)
I/flutter (11044): #15     Element.updateChild (package:flutter/src/widgets/framework.dart:2904:12)

SpinKit name

SpinKitCubeGrid

Screenshots

Exception thrown when using some loading spins

Describe the bug
The following exception:

2019-03-12 17:00:06.281 9687-9758/com.anticus.crossservice_mobile I/flutter: ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
2019-03-12 17:00:06.281 9687-9758/com.anticus.crossservice_mobile I/flutter: The following assertion was thrown during performLayout():
2019-03-12 17:00:06.281 9687-9758/com.anticus.crossservice_mobile I/flutter: 'package:flutter/src/painting/alignment.dart': Failed assertion: line 530 pos 12: 'direction !=
2019-03-12 17:00:06.281 9687-9758/com.anticus.crossservice_mobile I/flutter: null': is not true.
2019-03-12 17:00:06.282 9687-9758/com.anticus.crossservice_mobile I/flutter: Either the assertion indicates an error in the framework itself, or we should provide substantially
2019-03-12 17:00:06.282 9687-9758/com.anticus.crossservice_mobile I/flutter: more information in this error message to help you determine and fix the underlying cause.
2019-03-12 17:00:06.282 9687-9758/com.anticus.crossservice_mobile I/flutter: In either case, please report this assertion by filing a bug on GitHub:
2019-03-12 17:00:06.282 9687-9758/com.anticus.crossservice_mobile I/flutter:   https://github.com/flutter/flutter/issues/new?template=BUG.md
2019-03-12 17:00:06.282 9687-9758/com.anticus.crossservice_mobile I/flutter: When the exception was thrown, this was the stack:
2019-03-12 17:00:06.282 9687-9758/com.anticus.crossservice_mobile I/flutter: #2      AlignmentDirectional.resolve (package:flutter/src/painting/alignment.dart:530:12)
2019-03-12 17:00:06.282 9687-9758/com.anticus.crossservice_mobile I/flutter: #3      RenderStack._resolve (package:flutter/src/rendering/stack.dart:360:36)
2019-03-12 17:00:06.282 9687-9758/com.anticus.crossservice_mobile I/flutter: #4      RenderStack.performLayout (package:flutter/src/rendering/stack.dart:475:5)
2019-03-12 17:00:06.282 9687-9758/com.anticus.crossservice_mobile I/flutter: #5      RenderObject.layout (package:flutter/src/rendering/object.dart:1632:7)
2019-03-12 17:00:06.282 9687-9758/com.anticus.crossservice_mobile I/flutter: #6      RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:259:13)
2019-03-12 17:00:06.282 9687-9758/com.anticus.crossservice_mobile I/flutter: #7      RenderObject.layout (package:flutter/src/rendering/object.dart:1632:7)
2019-03-12 17:00:06.282 9687-9758/com.anticus.crossservice_mobile I/flutter: #8      RenderPositionedBox.performLayout (package:flutter/src/rendering/shifted_box.dart:385:13)
2019-03-12 17:00:06.282 9687-9758/com.anticus.crossservice_mobile I/flutter: #9      RenderObject.layout (package:flutter/src/rendering/object.dart:1632:7)
2019-03-12 17:00:06.282 9687-9758/com.anticus.crossservice_mobile I/flutter: #10     RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:199:11)
2019-03-12 17:00:06.282 9687-9758/com.anticus.crossservice_mobile I/flutter: #11     RenderObject.layout (package:flutter/src/rendering/object.dart:1632:7)
2019-03-12 17:00:06.282 9687-9758/com.anticus.crossservice_mobile I/flutter: #12     RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:738:15)
2019-03-12 17:00:06.282 9687-9758/com.anticus.crossservice_mobile I/flutter: #13     RenderObject.layout (package:flutter/src/rendering/object.dart:1632:7)
2019-03-12 17:00:06.282 9687-9758/com.anticus.crossservice_mobile I/flutter: #14     RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:738:15)
2019-03-12 17:00:06.282 9687-9758/com.anticus.crossservice_mobile I/flutter: #15     RenderObject.layout (package:flutter/src/rendering/object.dart:1632:7)
2019-03-12 17:00:06.282 9687-9758/com.anticus.crossservice_mobile I/flutter: #16     RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:798:17)
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter: #17     RenderObject.layout (package:flutter/src/rendering/object.dart:1632:7)
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter: #18     RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:199:11)
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter: #19     RenderObject.layout (package:flutter/src/rendering/object.dart:1632:7)
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter: #20     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter: #21     RenderObject.layout (package:flutter/src/rendering/object.dart:1632:7)
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter: #22     RenderView.performLayout (package:flutter/src/rendering/view.dart:151:13)
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter: #23     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1507:7)
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter: #24     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:766:18)
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter: #25     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:329:19)
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter: #26     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:701:13)
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter: #27     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:268:5)
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter: #28     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:988:15)
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter: #29     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:928:9)
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter: #30     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:749:7)
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter: #39     _Timer._runTimers (dart:isolate/runtime/libtimer_impl.dart:382:19)
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter: #40     _Timer._handleMessage (dart:isolate/runtime/libtimer_impl.dart:416:5)
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter: #41     _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:171:12)
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter: (elided 10 frames from class _AssertionError and package dart:async)
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter: The following RenderObject was being processed when the exception was fired:
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:   RenderStack#c7a6f NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:   creator: Stack ← SizedBox ← Center ← SpinKitFadingCircle ← Padding ← Row ← Column ← Expanded ←
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:   Column ← Padding ← ServicePicker ← DecoratedBox ← ⋯
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:   parentData: <none> (can use size)
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:   constraints: BoxConstraints(w=50.0, h=50.0)
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:   size: MISSING
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:   alignment: AlignmentDirectional.topStart
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:   textDirection: null
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:   fit: loose
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:   overflow: clip
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter: This RenderObject had the following descendants (showing up to depth 5):
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:   RenderTransform#33f41 NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:     RenderPositionedBox#e8cbf NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:       RenderAnimatedOpacity#063a0 NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:         RenderConstrainedBox#c6af1 NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:           RenderDecoratedBox#4ebec NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:   RenderTransform#20025 NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:     RenderPositionedBox#a047b NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:       RenderAnimatedOpacity#19cdf NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:         RenderConstrainedBox#f76fc NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:           RenderDecoratedBox#95b82 NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:   RenderTransform#397b0 NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:     RenderPositionedBox#c0e0b NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:       RenderAnimatedOpacity#9e140 NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:         RenderConstrainedBox#efe90 NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:           RenderDecoratedBox#056e2 NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:   RenderTransform#2c907 NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:     RenderPositionedBox#d68b6 NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:       RenderAnimatedOpacity#ab386 NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:         RenderConstrainedBox#3b729 NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:           RenderDecoratedBox#88b79 NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:   RenderTransform#7ea6d NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:     RenderPositionedBox#46f1e NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:       RenderAnimatedOpacity#eda0e NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:         RenderConstrainedBox#8b604 NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:           RenderDecoratedBox#72b36 NEEDS-LAYOUT NEEDS-PAINT
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter:   ...(descendants list truncated after 25 lines)
2019-03-12 17:00:06.283 9687-9758/com.anticus.crossservice_mobile I/flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
2019-03-12 17:00:06.284 9687-9758/com.anticus.crossservice_mobile I/flutter: Another exception was thrown: RenderBox was not laid out: RenderStack#c7a6f NEEDS-PAINT
2019-03-12 17:00:06.284 9687-9758/com.anticus.crossservice_mobile I/flutter: Another exception was thrown: RenderBox was not laid out: RenderConstrainedBox#ef9c3 relayoutBoundary=up5 NEEDS-PAINT
2019-03-12 17:00:06.284 9687-9758/com.anticus.crossservice_mobile I/flutter: Another exception was thrown: RenderBox was not laid out: RenderPositionedBox#59ea0 relayoutBoundary=up4 NEEDS-PAINT

is thrown whenever I try to use some SpinKits.

Steps to reproduce

  1. Create a new flutter project
  2. Replace the code with the following:
import 'package:flutter_spinkit/flutter_spinkit.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return Container(
      padding: EdgeInsets.all(10),
      child: SpinKitFadingCircle(color: Colors.white),
    );
  }
}
  1. Error is thrown.

SpinKit name

  • DoubleBounce
  • FadingFour
  • FadingCube
  • Pulse
  • ChasingDot
  • ThreeBounce
  • Circle
  • CubeGrid
  • FadingCircle
  • FoldingCube
  • Ripple

Spinkit animation with ElevatedButton's onPressed function (enquiry)

Good day Ayush and Jeremiah

I am new to Flutter and I am hoping that you can help me with making use of your Spinkit package. I have searched online but I have not come across a solution for my case.

The result I am seeking is for your Spinkit's animation to present itself after the press of an ElevatedButton, where that press will also prompt some loading activity, and then cease after the loading activity. Is this possible with Spinkit please?

I have attached the code I am working on to this e-mail for your consideration, however, some ordinary code featuring an ElevatedButton's onPress function would be sufficient for illustrating an example.

Many thanks for your time and for your support.

Kind regards

M Mathems

registrationScreen.txt

Null safety Issue

Describe the bug
(I am a noob)!
I am building an app and it says this package doesn't support null safety

Screenshots
image

Timer errors occur when leaving page with animation

Describe the bug
Either document proper usage or enable a Spinkit animation to dispose it's own timer.

Timer errors occur when closing the page with the animation on it.

SpinKit name

SpinKitPouringHourglass

Description/Usage

I'm displaying the SpinKitPouringHourglass on a stateless page. The widget is used this way:

  Widget build(BuildContext context) {

    // ...

    List<Widget> displayList = [
      titleSection,
      Align(
        alignment: Alignment.center,
        child: SpinKitPouringHourglass(
          color: theme.primaryColor,
          size: 90.0,
        )
      ),
      instructionsSection,
    ];

    return new Scaffold(
      appBar: new AppBar(
        title: new Text('Questionnaire'),
      ),
      body: new ListView(children: displayList),
    );
  }

The errors occur when I hit the "Back" button to pop the nav stack and return to the opening page.

Error Logs

I/flutter (20208): _SpinKitPouringHourglassState#3447a(ticker active) was disposed with an active Ticker.
I/flutter (20208): _SpinKitPouringHourglassState created a Ticker via its SingleTickerProviderStateMixin, but at the
I/flutter (20208): time dispose() was called on the mixin, that Ticker was still active. The Ticker must be disposed
I/flutter (20208): before calling super.dispose(). Tickers used by AnimationControllers should be disposed by calling
I/flutter (20208): dispose() on the AnimationController itself. Otherwise, the ticker will leak.
I/flutter (20208): The offending ticker was: Ticker(created by _SpinKitPouringHourglassState#3447a(lifecycle state:
I/flutter (20208): created))

[Minor] Required constructor parameter for SpinKitWidgets

To help the users, we should maybe think about to add a required parameter for the Widgets that need, for example, colour. That would help them directly in the editor instead of throwing only a red screen.

image

In the Image, you can see what I mean for the colour of the SpinKitFadingCircle. This is a minor improvement.

This is only a problem if there is no const in front of the class name. E.g.
image

Feature request: custom icon as input for progress indicator

Hello,

I would like my icon to be displayed as a rotating progress indicator. Any plans to allow for an "Icon" or "Image" input, that is then used as the item to animate as the indicator?
Describe the bug
A clear and concise description of what the bug is.

SpinKit name
The name of the loader with which this bug occurred.

Screenshots
If applicable, add screenshots to help explain your problem.

New Animations not actually added?

Hi, good to see more animations added! In checking with the 1.0 update and looking at the exports and the file, it doesn't look like the new animations made it to the file? I'm not able to find the new ones.

library flutter_spinkit;

export 'src/chasing_dots.dart';
export 'src/double_bounce.dart';
export 'src/fading_cube.dart';
export 'src/folding_cube.dart';
export 'src/pulse.dart';
export 'src/rotating_circle.dart';
export 'src/rotating_plain.dart';
export 'src/fading_four.dart';
export 'src/three_bounce.dart';
export 'src/wave.dart';
export 'src/circle.dart';
export 'src/fading_circle.dart';
export 'src/wandering_cubes.dart';
export 'src/cube_grid.dart';
export 'src/pumping_heart.dart';

I was looking for the DualRing

Cannot customize the alignment, always in center screen

SpinKitFadingCircle etc will only be shown in the middle of the screen.

As following code says that there is no alignment setting for the widget, and I check the source code that the alignment is default to center. And if I constraint the widget inside a container at the bottom of the screen, the widget will not be shown.

SpinKitFadingCircle(
  color: Colors.white,
  width: 50.0,
  height: 50.0,
);

Here is my code, which CircularProgressIndicator be replaced by SpinKitFadingCircle if I want to place it at the bottom.

  Widget _buildProgressIndicator() {
    return Container(
      alignment: Alignment.bottomCenter,
      padding: const EdgeInsets.all(16.0),
      child: Opacity(
        opacity: widget.isLoading ? 1.0 : 0.0,
        child: Container(
          decoration: BoxDecoration(
            shape: BoxShape.circle,
            color: Colors.white,
          ),
          child: SizedBox(
            width: 40.0,
            height: 40.0,
            child: Container(
              padding: EdgeInsets.all(8.0),
              child: CircularProgressIndicator(
                valueColor: AlwaysStoppedAnimation(kShrinePink300),
                strokeWidth: 3.0,
              ),
            ),
          ),
        ),
      ),
    );
  }

Hope it makes more clear. Sorry for the detail missing. I thought it was quite a obvious problem.

Animations always center inside TextFields and obscure the text

I'm trying to use one of the animations as a prefixIcon inside an InputDecoration inside a TextField,
however instead of the animation sitting to the left it centers itself over the text inside the TextField and obscures all the text no matter how long it is.

I've tested this with the properties prefix, prefixIcon, suffix and suffixIcon, and I've tested many of the animations, every one of the ones i tested exhibits the bug with the exception of SpinKitCubeGrid.

spinkit_bug

Here is code with which i tested:

class Page extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Column(
        children: <Widget>[
          TextField(
            decoration: InputDecoration(
              prefixIcon: SpinKitCircle(
                color: Colors.blue,
              ),
            ),
          ),
        ],
      ),
    );
  }

Don't Support null safety

Describe the bug
A clear and concise description of what the bug is.
I was trying to add the package and use it in my flutter app but every time I ran the app it showed me this error in it.

SpinKit name
The name of the loader with which this bug occurred.

Screenshots
If applicable, add screenshots to help explain your problem.
image

Symbol Off Center

Hi, it appears that the loading animation is off-center, making it difficult to align it properly.
imageoffcenter

Error: UnimplementedError SpinKitPouringHourGlassRefined

Describe the bug
i facing error about using SpinKitPouringHourGlassRefined in my app (flutter web)

Error: UnimplementedError
    at Object.throw_ [as throw] (http://localhost:34305/dart_sdk.js:5067:11)
    at Path.combine (http://localhost:34305/dart_sdk.js:135869:17)
    at pouring_hour_glass_refined._HourGlassPaint.new.paint (http://localhost:34305/packages/flutter_spinkit/src/pouring_hour_glass_refined.dart.lib.js:346:31)
    at [_paintWithPainter] (http://localhost:34305/packages/flutter/src/rendering/custom_paint.dart.lib.js:356:15)
    at custom_paint.RenderCustomPaint.new.paint (http://localhost:34305/packages/flutter/src/rendering/custom_paint.dart.lib.js:371:32)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderConstrainedBox.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderTransform.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at proxy_box.RenderTransform.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:2636:19)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at shifted_box.RenderPositionedBox.new.paint (http://localhost:34305/packages/flutter/src/rendering/shifted_box.dart.lib.js:140:17)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at shifted_box.RenderPositionedBox.new.paint (http://localhost:34305/packages/flutter/src/rendering/shifted_box.dart.lib.js:140:17)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderConstrainedBox.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at flex$.RenderFlex.new.defaultPaint (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:8059:19)
    at flex$.RenderFlex.new.paint (http://localhost:34305/packages/flutter/src/rendering/flex.dart.lib.js:1074:14)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at paintContents (http://localhost:34305/packages/flutter/src/widgets/single_child_scroll_view.dart.lib.js:646:19)
    at single_child_scroll_view._RenderSingleChildViewport.new.paint (http://localhost:34305/packages/flutter/src/widgets/single_child_scroll_view.dart.lib.js:653:11)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at PaintingContext._repaintCompositedChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5759:31)
    at PaintingContext.repaintCompositedChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5731:31)
    at [_compositeChild] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5790:33)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5780:30)
    at proxy_box.RenderIgnorePointer.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderSemanticsAnnotations.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderPointerListener.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderSemanticsGestureHandler.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderPointerListener.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at scrollable$._RenderScrollSemantics.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderRepaintBoundary.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at PaintingContext._repaintCompositedChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5759:31)
    at PaintingContext.repaintCompositedChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5731:31)
    at [_compositeChild] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5790:33)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5780:30)
    at custom_paint.RenderCustomPaint.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at custom_paint.RenderCustomPaint.new.paint (http://localhost:34305/packages/flutter/src/rendering/custom_paint.dart.lib.js:374:13)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderMouseRegion.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderPointerListener.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderSemanticsGestureHandler.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderRepaintBoundary.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at PaintingContext._repaintCompositedChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5759:31)
    at PaintingContext.repaintCompositedChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5731:31)
    at [_compositeChild] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5790:33)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5780:30)
    at proxy_box.RenderConstrainedBox.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at shifted_box.RenderPadding.new.paint (http://localhost:34305/packages/flutter/src/rendering/shifted_box.dart.lib.js:140:17)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at custom_layout.RenderCustomMultiChildLayoutBox.new.defaultPaint (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:8059:19)
    at custom_layout.RenderCustomMultiChildLayoutBox.new.paint (http://localhost:34305/packages/flutter/src/rendering/custom_layout.dart.lib.js:279:12)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at material._RenderInkFeatures.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at material._RenderInkFeatures.new.paint (http://localhost:34305/packages/flutter/src/material/icon_button.dart.lib.js:47886:13)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderPhysicalModel.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at object$.PaintingContext.new.pushLayer (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5890:7)
    at proxy_box.RenderPhysicalModel.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:2201:17)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderSemanticsAnnotations.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderRepaintBoundary.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at PaintingContext._repaintCompositedChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5759:31)
    at PaintingContext.repaintCompositedChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5731:31)
    at [_compositeChild] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5790:33)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5780:30)
    at proxy_box.RenderIgnorePointer.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderAnimatedOpacity.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at object$.PaintingContext.new.pushLayer (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5890:7)
    at object$.PaintingContext.new.pushOpacity (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:6004:12)
    at proxy_box.RenderAnimatedOpacity.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:1205:32)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderFractionalTranslation.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at proxy_box.RenderFractionalTranslation.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:3046:15)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderRepaintBoundary.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at PaintingContext._repaintCompositedChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5759:31)
    at PaintingContext.repaintCompositedChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5731:31)
    at [_compositeChild] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5790:33)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5780:30)
    at routes._RenderFocusTrap.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderSemanticsAnnotations.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderOffstage.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at proxy_box.RenderOffstage.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:3573:13)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderSemanticsAnnotations.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at overlay$._RenderTheatre.new.paintStack (http://localhost:34305/packages/flutter/src/widgets/widget_inspector.dart.lib.js:27083:17)
    at overlay$._RenderTheatre.new.paint (http://localhost:34305/packages/flutter/src/widgets/widget_inspector.dart.lib.js:27092:14)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderSemanticsAnnotations.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderAbsorbPointer.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderPointerListener.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at overlay$._RenderTheatre.new.paintStack (http://localhost:34305/packages/flutter/src/widgets/widget_inspector.dart.lib.js:27083:17)
    at overlay$._RenderTheatre.new.paint (http://localhost:34305/packages/flutter/src/widgets/widget_inspector.dart.lib.js:27092:14)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at material._RenderInkFeatures.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at material._RenderInkFeatures.new.paint (http://localhost:34305/packages/flutter/src/material/icon_button.dart.lib.js:47886:13)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderPhysicalModel.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at object$.PaintingContext.new.pushLayer (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5890:7)
    at proxy_box.RenderPhysicalModel.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:2201:17)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderSemanticsAnnotations.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderSemanticsAnnotations.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderSemanticsAnnotations.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at proxy_box.RenderSemanticsAnnotations.new.paint (http://localhost:34305/packages/flutter/src/rendering/proxy_box.dart.lib.js:444:41)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at object$.PaintingContext.new.paintChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5782:33)
    at view.RenderView.new.paint (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:4747:39)
    at [_paintWithContext] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:3519:14)
    at PaintingContext._repaintCompositedChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5759:31)
    at PaintingContext.repaintCompositedChild (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5731:31)
    at object$.PipelineOwner.new.flushPaint (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:6272:39)
    at binding$5.WidgetsFlutterBinding.new.drawFrame (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5496:26)
    at binding$5.WidgetsFlutterBinding.new.drawFrame (http://localhost:34305/packages/flutter/src/widgets/widget_inspector.dart.lib.js:52921:15)
    at [_handlePersistentFrameCallback] (http://localhost:34305/packages/flutter/src/rendering/layer.dart.lib.js:5459:12)
    at [_invokeFrameCallback] (http://localhost:34305/packages/flutter/src/scheduler/binding.dart.lib.js:722:9)
    at binding$5.WidgetsFlutterBinding.new.handleDrawFrame (http://localhost:34305/packages/flutter/src/scheduler/binding.dart.lib.js:693:37)
    at [_handleDrawFrame] (http://localhost:34305/packages/flutter/src/scheduler/binding.dart.lib.js:646:12)
    at Object.invoke (http://localhost:34305/dart_sdk.js:190394:7)
    at _engine.EnginePlatformDispatcher.__.invokeOnDrawFrame (http://localhost:34305/dart_sdk.js:171071:15)
    at http://localhost:34305/dart_sdk.js:190193:55

SpinKit name
SpinKitPouringHourGlassRefined

flutter : 2.10.4 Linux
flutter_spinkit: 5.1.0

Duration setting problem

Describe the bug
Build three SpinKitPulse widgets with different Duration setting, all of their Duration are same to Duration of the last SpinKitPulse widget.

SpinKit name
SpinKitPulse

Screenshots

Request for a speed argument

Please add an optional argument that can be used to specify the speed of the animation.
This can be extremely useful feature in UX customization, and shouldn't be more then a few lines of code.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.