Today many social networking apps are coming and one of that name Tinder i checked out and found SwipeView. And today i going to show you how you can also add Tinder like SwipeView in Android application.
This is a Android library named Shuffle which is an easy to use swiping-view for Android.
Lets come to implementation of this library:
Usage
Add library to Gradle
Add into your build.gradle
compile 'com.meetic.shuffle:shuffle:(last version)' compile 'com.meetic.dragueur:dragueur:1.0.3'
Just declare a Shuffle into your layout
<com.meetic.shuffle.Shuffle
android:id="@+id/shuffle"
android:layout_width="match_parent"
android:layout_height="200dp"
/>
Then fill it with an Adapter
Shuffle shuffle = (Shuffle)findViewById(R.id.shuffle);
shuffle.setShuffleAdapter(new Shuffle.Adapter(){
@Override
public Shuffle.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int type) {
}
@Override
public void onBindViewHolder(final Shuffle.ViewHolder viewHolder, int position) {
}
@Override
public int getItemCount() {
}
});
Customization
Free movements

<com.meetic.shuffle.Shuffle
android:id="@+id/shuffle"
android:layout_width="match_parent"
android:layout_height="200dp"
app:shuffle_inlineMove="false"
/>
[tmh_article_ads]
Inline movements
<com.meetic.shuffle.Shuffle
android:id="@+id/shuffle"
android:layout_width="match_parent"
android:layout_height="200dp"
app:shuffle_inlineMove="true"
/>
Orientation
If you want to set it vertical (by default Suffle is horizontal oriented)

<com.meetic.shuffle.Shuffle
android:id="@+id/shuffle"
android:layout_width="match_parent"
android:layout_height="200dp"
app:shuffle_orientation="horizontal / vertical"
/>
Rotation
Without rotation

<com.meetic.shuffle.Shuffle
android:id="@+id/shuffle"
android:layout_width="match_parent"
android:layout_height="200dp"
app:shuffle_rotationEnabled="false"
/>
With rotation

<com.meetic.shuffle.Shuffle
android:id="@+id/shuffle"
android:layout_width="match_parent"
android:layout_height="200dp"
app:shuffle_rotationEnabled="false"
app:shuffle_rotation="10"
/>
Restart
To restart the shuffling

shuffle.restartShuffling();
Revert
To undo a card exit

shuffle.revert(duration);
Infinite

<com.meetic.shuffle.Shuffle
android:id="@+id/shuffle"
android:layout_width="match_parent"
android:layout_height="200dp"
app:shuffle_infinite="true"
/>
Options
You can set the max number of cards displayed and adjust the space between cards
<com.meetic.shuffle.Shuffle
android:id="@+id/shuffle"
android:layout_width="match_parent"
android:layout_height="200dp"
app:shuffle_numberOfDisplayedCards="4"
app:shuffle_differenceTranslationY="5dp"
app:shuffle_differenceTranslationX="1dp"
/>

<com.meetic.shuffle.Shuffle
android:id="@+id/shuffle"
android:layout_width="match_parent"
android:layout_height="200dp"
app:shuffle_numberOfDisplayedCards="4"
app:shuffle_differenceTranslationY="5dp"
app:shuffle_differenceTranslationX="1dp"
/>
Listeners
shuffle.addListener(new Shuffle.Listener() {
@Override
public void onViewChanged(int position) {
}
@Override
public void onScrollStarted() {
}
@Override
public void onScrollFinished() {
}
@Override
public void onViewExited(DraggableView draggableView, Direction direction) {
}
@Override
public void onViewScrolled(DraggableView draggableView, float percentX, float percent) {
}
});
CardDraggableView
<Shuffle
...
//overlay color displayed while scrolling
app:shuffle_colorRight="@color/blue"
app:shuffle_colorLeft="@color/blue"
//overlay content displayed while scrolling (ex: containing logo)
app:shuffle_layoutLeft="@layout/bal_shuffle_cell_left"
app:shuffle_layoutRight="@layout/bal_shuffle_cell_right"
...
/>

Animations
All Shuffle animations can be overridden
shuffle.setViewAnimator(new ShuffleViewAnimator(){
//override methods
});
Try ShuffleViewAnimator and `ShuffleViewAnimatorOnSecondCard
ShuffleViewAnimator
You can easily set dismiss animations for ShuffleViewAnimator ( scaleUp / goBackBehind )
shuffle.setViewAnimator(new ShuffleViewAnimator()
.setPushLeftAnimateViewStackScaleUp(false)
.setPushRightAnimateViewStackScaleUp(true)
.setPushTopAnimateViewStackScaleUp(false)
.setPushBottomAnimateViewStackScaleUp(false)
);
Enable
shuffle.enable(true / false);
Download
That’s it !! I hope you like this article.
Share your thoughts