swipe_to 1.0.6
swipe_to: ^1.0.6 copied to clipboard
SwipeTo is a wrapper for a chat view widget which can be used initiate callback when user horizontally swipe on it.
swipe_to #
SwipeTo is a wrapper for a chat view widget which can be used initiate callback when user horizontally swipe on it.
Getting Started #
To use this packages, you just simply need to wrap your child component in SwipeTo widget and pass a VoidCallback that you can carry forward with your task.
In the pubspec.yaml of your flutter project, add the following dependency:
dependencies:
...
swipe_to: 1.0.6
In your library add the following import:
import 'package:swipe_to/swipe_to.dart';
Parameter Info #
child: (@required)StateLessorStateFullflutter widget.onRightSwipe: callback which will be initiated at the end of right swipe animation. If not passed right swipe will be disabledonLeftSwipe: callback which will be initiated at the end of left swipe animation. If not passed left swipe will be disablediconOnRightSwipe: IconData that will be displayed on left beneath child widget when swiped right. If not specified default isIcons.replyrightSwipeWidget: Widget that will be displayed beneath child widget when swipe right. IficonOnRightSwipeis defined this will have no effect.iconOnLeftSwipe: IconData that will be displayed on right beneath child widget when swiped left. If not specified default isIcons.replyleftSwipeWidget: Widget that will be displayed beneath child widget when swipe left. IficonOnLeftSwipeis defined this will have no effect.iconSize: Double value defining size of displayed icon beneath child widget. If not specified default it will take 26iconColor: Color value defining color of displayed icon beneath child widget. If not specifiedprimaryColorfrom theme will be takenoffsetDx: Double dx value used inOffset()till which position of child widget will get animated. If not specified 0.3 default will be taken. onRightSwipe +dx value will be used and for onLeftSwipe -dx value will be usedanimationDuration: Duration value to define animation duration. If not specified default is 150 millisecondsswipeSensitivity: Swipe sensitivity integer value which will be in range of default min 5 to max 35. Crossing mentioned value of this parameter (+ve in right and -ve in left direction) will trigger swipe animation.
Major changes onwards [ver 0.0.1+5] #
- For a single child widget, we can now enable swipe for both left and right direction
swipeDirectionparameter is removed. NowonLeftSwipeandonRightSwipecallback will enable swiping for a particular direction if passediconDatais now split into two parameter,iconOnRightSwipe&iconOnLeftSwipefor future useendOffsetis now change to accept a double value onlycallBackis now split into two parameter,onLeftSwipe&onRightSwipe
Using SwipeTo widget for ListView items #
While using SwipeTo widget for ListView items, make sure to pass a Key() as key parameter of SwipeTo widget. Suggested to use UniqueKey() which will differentiate each individual widget in the Widget Tree. Check example below. To view example code click here.
ListView(
children: snapshot.data!.map((name) {
return SwipeTo(
key: UniqueKey(),
iconOnLeftSwipe: Icons.arrow_forward,
iconOnRightSwipe: Icons.arrow_back,
onRightSwipe: (details) {
log("\n Left Swipe Data --> $name");
},
swipeSensitivity: 20,
child: ListTile(
tileColor: Colors.cyan.shade200,
title: Text(name),
),
);
}).toList(),
);
Deprecated/Removed Parameters #
- swipeDirection : Enum value from [
swipeToLeft,swipeToRight] only. Make sure to pass relative Offset value according to passedswipeDirectionvalue. If not specifiedswipeToRightwill be taken as default. - iconData : IconData that will be displayed beneath child widget. if not specified default is
Icons.reply - endOffset : Offset value till which position of child widget will get animated. if not specified Offset(0.3, 0.0) default will be taken
- callBack : (@required) callback which will be initiated at the end of swipe animation
Example : SwipeToRight
Wrap your desired widget with SwipeTo & pass a call to onRightSwipe parameter.
SwipeTo(
child: Container(
padding: const EdgeInsets.symmetric(vertical: 10.0, horizontal: 8.0),
child: Text('Hey You! Swipe me right ππΏ'),
),
onRightSwipe: (details) {
print('Callback from Swipe To Right');
},
),
Example : SwipeToLeft
Wrap your desired widget with SwipeTo & pass a call to onLeftSwipe parameter.
SwipeTo(
child: Container(
padding: const EdgeInsets.symmetric(vertical: 10.0, horizontal: 8.0),
child: Text('ππΏ Hey You! Swipe me Left'),
),
onLeftSwipe: (details) {
print('Callback from Swipe To Left');
},
),
Example : SwipeToLeft & SwipeToRight
Wrap your desired widget with SwipeTo & pass a call to onLeftSwipe & onRightSwipe parameters.
SwipeTo(
child: Container(
padding: const EdgeInsets.symmetric(vertical: 10.0, horizontal: 8.0),
child: Text('ππΏ Swipe me Left | YOU |Swipe me right ππΏ'),
),
onLeftSwipe: (details) {
print('Callback from Swipe To Left');
},
onRightSwipe: (details) {
print('Callback from Swipe To Right');
},
),
Sample Outputs #