tcard 1.3.5 tcard: ^1.3.5 copied to clipboard
A tinder like cards flutter plugin, can slide it's children left or right. You can use it to show some images, videos and so on.
// @dart=2.9
import 'package:flutter/material.dart';
import '../lib/tcard.dart';
List<Color> colors = [
Colors.blue,
Colors.yellow,
Colors.red,
Colors.orange,
Colors.pink,
Colors.amber,
Colors.cyan,
Colors.purple,
Colors.brown,
Colors.teal,
];
List<Widget> cards = List.generate(
colors.length,
(int index) {
return Container(
alignment: Alignment.center,
decoration: BoxDecoration(
color: colors[index],
),
child: Text(
'${index + 1}',
style: TextStyle(fontSize: 100.0, color: Colors.white),
),
);
},
);
class TCardPage extends StatefulWidget {
@override
_TCardPageState createState() => _TCardPageState();
}
class _TCardPageState extends State<TCardPage> {
TCardController _controller = TCardController();
int _index = 0;
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Column(
children: <Widget>[
SizedBox(height: 200),
TCard(
cards: cards,
controller: _controller,
onForward: (index, info) {
_index = index;
print(info.direction);
setState(() {});
},
onBack: (index, info) {
_index = index;
setState(() {});
},
onEnd: () {
print('end');
},
),
SizedBox(height: 20),
Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: <Widget>[
OutlineButton(
onPressed: () {
_controller.back();
},
child: Text('Back'),
),
OutlineButton(
onPressed: () {
_controller.forward();
},
child: Text('Forward'),
),
OutlineButton(
onPressed: () {
_controller.reset();
},
child: Text('Reset'),
),
],
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: () {},
child: Text(_index.toString()),
),
);
}
}