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.
- 🎯 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
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.jens-muenker:CardStackView:3.2.0'
}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
- Getting Started - First steps and installation
- Configuration - All available settings and options
- Basic Usage - Swipe, Rewind, Cancel
- Custom Animations - Customize swipe and rewind animations
- Overlay Views - Implement Like/Dislike indicators
- Paging - Dynamic data loading
- Callbacks - Event handling with CardStackListener
- Advanced Features - Manual Rewind, Carousel Style, etc.
- API Reference - Complete API documentation
- FAQ - Frequently asked questions and solutions
| 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 | → |
If this library is helpful to you or your apps, please consider supporting its development:
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)
- Improved code quality
- Added unit tests
- Updated Gradle & dependencies
- Configurable fade-in animation for last card
- Migrated code to Kotlin
- Updated Gradle & dependencies
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


