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)StateLess
orStateFull
flutter 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.reply
rightSwipeWidget
: Widget that will be displayed beneath child widget when swipe right. IficonOnRightSwipe
is 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.reply
leftSwipeWidget
: Widget that will be displayed beneath child widget when swipe left. IficonOnLeftSwipe
is 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 specifiedprimaryColor
from 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
swipeDirection
parameter is removed. NowonLeftSwipe
andonRightSwipe
callback will enable swiping for a particular direction if passediconData
is now split into two parameter,iconOnRightSwipe
&iconOnLeftSwipe
for future useendOffset
is now change to accept a double value onlycallBack
is 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 passedswipeDirection
value. If not specifiedswipeToRight
will 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');
},
),