Advertisement
Guest User

Untitled

a guest
Feb 21st, 2019
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.34 KB | None | 0 0
  1. import 'package:flutter/material.dart';
  2. import 'MatchCard.dart';
  3.  
  4. void main() => runApp(MyApp());
  5.  
  6. class MyApp extends StatelessWidget {
  7. @override
  8. Widget build(BuildContext context) {
  9. return MaterialApp(
  10. title: 'Flutter Demo',
  11. theme: ThemeData(
  12. primarySwatch: Colors.blue,
  13. ),
  14. home: MyHomePage(title: 'Flutter Card Stack'),
  15. );
  16. }
  17. }
  18.  
  19. class MyHomePage extends StatefulWidget {
  20. MyHomePage({Key key, this.title}) : super(key: key);
  21.  
  22. final String title;
  23.  
  24. @override
  25. _MyHomePageState createState() => _MyHomePageState();
  26. }
  27.  
  28. class _MyHomePageState extends State<MyHomePage> {
  29. List<Widget> cardList;
  30.  
  31. void _removeCard(index) {
  32. setState(() {
  33. cardList.removeAt(index);
  34. });
  35. }
  36.  
  37. @override
  38. void initState() {
  39. // TODO: implement initState
  40. super.initState();
  41. cardList = _getMatchCard();
  42. }
  43.  
  44. @override
  45. Widget build(BuildContext context) {
  46. return Scaffold(
  47. appBar: AppBar(
  48. title: Text(widget.title),
  49. ),
  50. body: Center(
  51. child: Stack(
  52. alignment: Alignment.center,
  53. children: cardList,
  54. ),
  55. ),
  56. );
  57. }
  58.  
  59. List<Widget> _getMatchCard() {
  60. List<MatchCard> cards = new List();
  61. cards.add(MatchCard(255, 0, 0, 10));
  62. cards.add(MatchCard(0, 255, 0, 20));
  63. cards.add(MatchCard(0, 0, 255, 30));
  64.  
  65. List<Widget> cardList = new List();
  66.  
  67. for (int x = 0; x < 3; x++) {
  68. cardList.add(Positioned(
  69. top: cards[x].margin,
  70. child: Draggable(
  71. onDragEnd: (drag){
  72. _removeCard(x);
  73. },
  74. childWhenDragging: Container(),
  75. feedback: Card(
  76. elevation: 12,
  77. color: Color.fromARGB(255, cards[x].redColor, cards[x].greenColor, cards[x].blueColor),
  78. shape:
  79. RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)),
  80. child: Container(
  81. width: 240,
  82. height: 300,
  83. ),
  84. ),
  85. child: Card(
  86. elevation: 12,
  87. color: Color.fromARGB(255, cards[x].redColor, cards[x].greenColor, cards[x].blueColor),
  88. shape:
  89. RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)),
  90. child: Container(
  91. width: 240,
  92. height: 300,
  93. ),
  94. ),
  95. ),
  96. ));
  97. }
  98.  
  99. return cardList;
  100. }
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement