This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Data with ChangeNotifier { | |
bool successDrop; | |
List<CardItem> items; | |
CardItem acceptedData; | |
Data() { | |
successDrop = false; | |
items = Constants.initializeList(items); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class HomePage extends StatelessWidget { | |
@override | |
Widget build(BuildContext context) { | |
return Scaffold( | |
appBar: AppBar( | |
title: Text(APP_BAR_TITLE), | |
), | |
floatingActionButton: FloatingActionButton.extended( | |
onPressed: () { | |
Provider.of<Data>(context).initializeDraggableList(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class CardStackWidget extends StatelessWidget { | |
@override | |
Widget build(BuildContext context) { | |
return Stack( | |
alignment: Alignment.center, | |
children: cardItems(context), | |
); | |
} | |
List<Widget> cardItems(BuildContext context) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class DraggableWidget extends StatelessWidget { | |
DraggableWidget({ | |
Key key, | |
@required this.i, | |
}) : super(key: key); | |
final int i; | |
CardItem item; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class DragTargetWidget extends StatelessWidget { | |
@override | |
Widget build(BuildContext context) { | |
return DragTarget(onWillAccept: (data) { | |
return true; | |
}, onAccept: (CardItem data) { | |
if (Provider.of<Data>(context).itemsList.length >= 1) { | |
Provider.of<Data>(context).removeLastItem(); | |
Provider.of<Data>(context).changeSuccessDrop(true); | |
Provider.of<Data>(context).changeAcceptedData(data); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class HomeScreen extends StatefulWidget { | |
@override | |
_HomeScreenState createState() => _HomeScreenState(); | |
} | |
class _HomeScreenState extends State<HomeScreen> with TickerProviderStateMixin { | |
Animation _arrowAnimation; | |
AnimationController _arrowAnimationController; | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@override | |
Widget build(BuildContext context) { | |
return Scaffold( | |
appBar: AppBar( | |
title: Text('Example Animations'), | |
), | |
body: Column( | |
mainAxisAlignment: MainAxisAlignment.center, | |
children: <Widget>[ | |
firstChild(), |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Widget firstChild() { | |
return Row( | |
mainAxisAlignment: MainAxisAlignment.spaceAround, | |
children: <Widget>[ | |
AnimatedBuilder( | |
animation: _arrowAnimationController, | |
builder: (context, child) => Transform.rotate( | |
angle: _arrowAnimation.value, | |
child: Icon( | |
Icons.expand_more, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class HomeScreen extends StatefulWidget { | |
@override | |
_HomeScreenState createState() => _HomeScreenState(); | |
} | |
class _HomeScreenState extends State<HomeScreen> with TickerProviderStateMixin { | |
Animation _arrowAnimation, _heartAnimation; | |
AnimationController _arrowAnimationController, _heartAnimationController; | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@override | |
Widget build(BuildContext context) { | |
return Scaffold( | |
appBar: AppBar( | |
title: Text('Example Animations'), | |
), | |
body: Column( | |
mainAxisAlignment: MainAxisAlignment.center, | |
children: <Widget>[ | |
firstChild(), |