Skip to content

Commit

Permalink
loader 2 parameterized
Browse files Browse the repository at this point in the history
  • Loading branch information
lohanidamodar committed Dec 30, 2018
1 parent b784f1a commit 0df01d3
Showing 1 changed file with 29 additions and 14 deletions.
43 changes: 29 additions & 14 deletions lib/src/widgets/loaders/loader2.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,23 @@ import 'dart:math';
import 'package:flutter/material.dart';

class LoaderTwo extends StatefulWidget {
final Color color;
final Color centralDotColor;
final Color dotOneColor;
final Color dotTwoColor;
final Color dotThreeColor;
final Color dotFourColor;
final Color dotFiveColor;
final Color dotSixColor;
final Color dotSevenColor;
final Color dotEightColor;
final double centralDotRadius;
final double outerDotRadius;
final double spanRadius;
final Duration duration;

LoaderTwo({Key key, this.centralDotColor = Colors.black26, this.dotOneColor=Colors.red, this.dotTwoColor=Colors.lightBlue, this.dotThreeColor=Colors.orange, this.dotFourColor=Colors.green, this.dotFiveColor=Colors.yellow, this.dotSixColor=Colors.blue, this.dotSevenColor=Colors.pink, this.dotEightColor=Colors.lightGreen, this.centralDotRadius=15.0, this.spanRadius=15.0, this.duration = const Duration(seconds: 2), this.outerDotRadius = 5.0 }) : super(key: key);

LoaderTwo({Key key, this.color}) : super(key: key);
_LoaderTwoState createState() => _LoaderTwoState();
_LoaderTwoState createState() => _LoaderTwoState(centralDotRadius);
}

class _LoaderTwoState extends State<LoaderTwo> with SingleTickerProviderStateMixin {
Expand All @@ -15,15 +28,17 @@ class _LoaderTwoState extends State<LoaderTwo> with SingleTickerProviderStateMix
Animation<double> animationRadiusIn;
Animation<double> animationRadiusOut;

final double initialRadius = 25.0;
final double initialRadius;
double radius = 0.0;

_LoaderTwoState(this.initialRadius);

@override
void initState() {
super.initState();
controller = AnimationController(
vsync: this,
duration: Duration(seconds: 2));
duration: widget.duration);

animationRadiusIn = Tween<double>(begin: 1.0, end: 0.0).animate(
CurvedAnimation(parent: controller, curve: Interval(0.75, 1.0, curve: Curves.elasticIn),)
Expand Down Expand Up @@ -66,31 +81,31 @@ class _LoaderTwoState extends State<LoaderTwo> with SingleTickerProviderStateMix
turns: animationRotation,
child: Stack(
children: <Widget>[
Dot(radius: 30,color: Colors.black26,),
Dot(radius: widget.centralDotRadius,color: widget.centralDotColor,),
Transform.translate(
offset: Offset(cos(pi/4)*radius, sin(pi/4)*radius),
child: Dot(radius: 5,color: Colors.red,)),
child: Dot(radius: widget.outerDotRadius,color: widget.dotOneColor,)),
Transform.translate(
offset: Offset(cos(2*pi/4)*radius, sin(2*pi/4)*radius),
child: Dot(radius: 5,color: Colors.blue,)),
child: Dot(radius: widget.outerDotRadius,color: widget.dotTwoColor,)),
Transform.translate(
offset: Offset(cos(3*pi/4)*radius, sin(3*pi/4)*radius),
child: Dot(radius: 5,color: Colors.orange,)),
child: Dot(radius: widget.outerDotRadius,color: widget.dotThreeColor,)),
Transform.translate(
offset: Offset(cos(pi)*radius, sin(pi)*radius),
child: Dot(radius: 5,color: Colors.green,)),
child: Dot(radius: widget.outerDotRadius,color: widget.dotFourColor,)),
Transform.translate(
offset: Offset(cos(5*pi/4)*radius, sin(5*pi/4)*radius),
child: Dot(radius: 5,color: Colors.yellow,)),
child: Dot(radius: widget.outerDotRadius,color: widget.dotFiveColor,)),
Transform.translate(
offset: Offset(cos(6*pi/4)*radius, sin(6*pi/4)*radius),
child: Dot(radius: 5,color: Colors.teal,)),
child: Dot(radius: widget.outerDotRadius,color: widget.dotSixColor,)),
Transform.translate(
offset: Offset(cos(7*pi/4)*radius, sin(7*pi/4)*radius),
child: Dot(radius: 5,color: Colors.pink,)),
child: Dot(radius: widget.outerDotRadius,color: widget.dotSevenColor,)),
Transform.translate(
offset: Offset(cos(8*pi/4)*radius, sin(8*pi/4)*radius),
child: Dot(radius: 5,color: Colors.lightBlue,)),
child: Dot(radius: widget.outerDotRadius,color: widget.dotEightColor,)),
],
),
),
Expand Down

0 comments on commit 0df01d3

Please sign in to comment.