// import 'package:flutter/animation.dart'; // import 'package:flutter/foundation.dart'; // import 'package:flutter/material.dart'; // // /// Custom switch widget // /// [value] switch is active or not // /// [onChanged] function to be executed after sometime // /// [activeColor] color of active status // /// [inactiveColor] color of inactive status // class CustomSwitch extends StatefulWidget { // final bool value; // final AsyncCallback onChanged; // final Color activeColor; // final Color inactiveColor; // // CustomSwitch({Key key, this.value, this.onChanged, this.activeColor, this.inactiveColor}) : super(key: key); // // @override // _CustomSwitchState createState() => _CustomSwitchState(); // } // // class _CustomSwitchState extends State with SingleTickerProviderStateMixin { // Animation _circleAnimation; // AnimationController _animationController; // // @override // void initState() { // super.initState(); // _animationController = AnimationController(vsync: this, duration: Duration(milliseconds: 500)); // _circleAnimation = Tween(begin: 0.0, end: 22.0).animate(CurvedAnimation(parent: _animationController, curve: Curves.easeOutQuint, reverseCurve: Curves.easeInQuint)); // if (widget.value) _animationController.forward(); // } // // @override // Widget build(BuildContext context) { // return AnimatedBuilder( // animation: _animationController, // builder: (context, child) { // bool _switchStatus = _circleAnimation.status == AnimationStatus.dismissed || _circleAnimation.status == AnimationStatus.reverse; // return GestureDetector( // onTap: Feedback.wrapForTap(() async { // if (widget.value) { // _animationController.reverse(); // } else { // _animationController.forward(); // } // await widget.onChanged(); // }, context), // child: AnimatedContainer( // duration: Duration(milliseconds: 200), // width: 50.0, // height: 25.0, // decoration: BoxDecoration(borderRadius: BorderRadius.circular(20.0), color: _switchStatus ? widget.inactiveColor : widget.activeColor), // child: Padding( // padding: EdgeInsets.only(top: 4.0, bottom: 4.0, right: 6.0, left: 6.0), // child: Row( // children: [ // Container(width: _circleAnimation.value), // Container( // width: 16.0, // height: 16.0, // decoration: BoxDecoration(boxShadow: [BoxShadow(color: Colors.grey[800].withOpacity(0.15), offset: Offset(0, 4.0), blurRadius: 5.0)], shape: BoxShape.circle, color: Colors.white), // ) // ], // ), // ), // ), // ); // }, // ); // } // }