Skip to content

jens-muenker/CardStackView

 
 

Repository files navigation

Logo

CardStackView

A modern Android library for swipeable card stacks with extensive customization options. This library is a fork of yuyakaido/CardStackView with bug fixes, Kotlin migration, and enhanced features.

Example

✨ Features

  • 🎯 Easy Integration - Based on RecyclerView
  • 👆 Manual & Automatic Swiping - Flexible control via gestures or programmatic code
  • 🔄 Rewind Function - Bring cards back with animation
  • 🎨 Versatile Customization - Layouts, animations, overlays, styles
  • 📱 Carousel & Stack Styles - Different display modes (Overlay, Linear, Carousel)
  • 🎭 Overlay Views - Like/Dislike indicators during swiping
  • ⚙️ Extensive Configuration - All aspects customizable (thresholds, directions, animations)
  • 🔧 Kotlin-first - Fully written in Kotlin

→ All Features in Detail

🚀 Quick Start

Installation

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

dependencies {
    implementation 'com.github.jens-muenker:CardStackView:3.2.0'
}

Minimal Example

Layout (XML):

<com.yuyakaido.android.cardstackview.CardStackView
    android:id="@+id/card_stack_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

Code (Kotlin):

val cardStackView = findViewById<CardStackView>(R.id.card_stack_view)
val manager = CardStackLayoutManager(this)
cardStackView.layoutManager = manager
cardStackView.adapter = YourAdapter()

→ Detailed Getting Started Guide

📚 Documentation

Basics

Guides

Reference

  • API Reference - Complete API documentation
  • FAQ - Frequently asked questions and solutions

🎯 Main Features Overview

Feature Description Link
Swipe Manual & automatic swiping in all directions
Rewind Bring cards back with animation
Overlays Like/Dislike indicators during swiping
Animations Custom Swipe/Rewind animations
Stack Styles Overlay, Linear, Carousel
Paging Dynamic data loading
Callbacks Event handling for all actions

💡 Support

If this library is helpful to you or your apps, please consider supporting its development:

"Buy Me A Coffee"

📝 Changelog

3.2.0

New Features:

  • 🎨 Carousel Style - Carousel-inspired presentation with curves and tilt (#310)
  • 🔄 Manual Rewind Gestures - Configure gestures to bring back previous cards (#294)
  • 🎯 Per-Direction Swipe Control - Enable/disable swiping for individual directions (#260)
  • 📐 StackLayout Options - Linear stacking for sequential card arrangement
  • Fade-in Animation - Configurable animation for the last card when new data appears
  • 📚 Complete Documentation - Comprehensive guides, API reference, and FAQ

Improvements:

  • Complete documentation overhaul with detailed guides
  • All documentation translated to English
  • Improved code quality and structure

Fixes:

  • Division by zero in ratio calculation (#387)

3.1.0

  • Improved code quality
  • Added unit tests
  • Updated Gradle & dependencies
  • Configurable fade-in animation for last card

3.0.0

  • Migrated code to Kotlin
  • Updated Gradle & dependencies

→ Full Changelog

📄 License

Apache License 2.0 - See LICENSE for details.

Copyright 2025, Jens Münker

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Original CardStackView:

Copyright 2018 yuyakaido

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Forked from yuyakaido/CardStackView | Developed by Jens Münker

About

📱Tinder like swipeable card view for Android

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Kotlin 100.0%