# gabrielemariotti/cardslib

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/gabrielemariotti-cardslib).**

4,618 stars · 1,168 forks · Java

## Links

- GitHub: https://github.com/gabrielemariotti/cardslib
- awesome-repositories: https://awesome-repositories.com/repository/gabrielemariotti-cardslib.md

## Description

cardslib is an Android UI component library and card layout framework. It provides a set of specialized adapters and views designed as an extension for high-performance card rendering within recycling lists.

The library distinguishes itself through a reorderable list implementation that supports drag-and-drop item rearrangement and nested content hierarchies. It also includes an interaction system for managing directional swipe constraints and a customizable undo action notification bar.

The framework covers a broad range of card-based interface capabilities, including the composition of visual templates with data models, section grouping, and visibility toggling. It supports the display of card collections in list, grid, or staggered arrangements.

## Tags

### Part of an Awesome List

- [Card UI](https://awesome-repositories.com/f/awesome-lists/devtools/card-ui.md) — Provides a comprehensive framework for rendering a variety of card-based user interfaces. ([source](https://github.com/gabrielemariotti/cardslib#readme))
- [Drag and Drop](https://awesome-repositories.com/f/awesome-lists/devtools/drag-and-drop.md) — Supports rearranging card items within lists via drag-and-drop interactions. ([source](https://github.com/gabrielemariotti/cardslib/blob/master/CHANGELOG.md))
- [Swipe and Gesture Controls](https://awesome-repositories.com/f/awesome-lists/devtools/swipe-and-gesture-controls.md) — Implements directional swipe constraints and customizable actions for card interactions. ([source](https://github.com/gabrielemariotti/cardslib/blob/master/CHANGELOG.md))
- [Card Layouts](https://awesome-repositories.com/f/awesome-lists/devtools/card-layouts.md) — Provides mechanisms to present groups of cards using list, grid, or staggered arrangements. ([source](https://github.com/gabrielemariotti/cardslib/blob/master/doc/GUIDE.md))
- [UI Components](https://awesome-repositories.com/f/awesome-lists/devtools/ui-components.md) — Comprehensive library for displaying UI cards in lists and grids.
- [User Interface Components](https://awesome-repositories.com/f/awesome-lists/devtools/user-interface-components.md) — Android Library to build a UI Card.

### Mobile Development

- [Android UI Components](https://awesome-repositories.com/f/mobile-development/android-ecosystem/android-ui-components.md) — Provides a library of reusable Android UI components specifically for building structured card-based interfaces.
- [Android List Frameworks](https://awesome-repositories.com/f/mobile-development/android-list-frameworks.md) — Provides a framework for organizing high-performance card-based lists and grids on Android.

### User Interface & Experience

- [Card Layouts](https://awesome-repositories.com/f/user-interface-experience/card-layouts.md) — Provides a system for composing visual templates with data models to render cards in lists or grids.
- [Adapter Based Mappings](https://awesome-repositories.com/f/user-interface-experience/data-view-customizers/adapter-based-mappings.md) — Implements mechanisms for linking data models to visual templates using adapter patterns for flexible card layouts.
- [RecyclerView Drag Reorderers](https://awesome-repositories.com/f/user-interface-experience/gesture-interaction-libraries/long-press-gestures/long-press-gestures/recyclerview-drag-reorderers.md) — Enables rearranging card positions within a list using long-press drag-and-drop functionality.
- [List Reordering](https://awesome-repositories.com/f/user-interface-experience/item-lists/interactive-list-items/list-reordering.md) — Implements a drag-and-drop mechanism for rearranging card items with support for nested content.
- [RecyclerView Lists](https://awesome-repositories.com/f/user-interface-experience/list-components/recyclerview-lists.md) — Extends RecyclerView with specialized adapters and views optimized for high-performance card rendering.
- [List Reordering Components](https://awesome-repositories.com/f/user-interface-experience/list-reordering-components.md) — Provides a dedicated implementation for building reorderable lists of cards using drag-and-drop. ([source](https://github.com/gabrielemariotti/cardslib/blob/master/doc/GUIDE.md))
- [View Recycling Systems](https://awesome-repositories.com/f/user-interface-experience/view-recycling-systems.md) — Optimizes memory and performance by recycling card view holders within scrollable containers.
- [Section Grouping](https://awesome-repositories.com/f/user-interface-experience/card-components/section-grouping.md) — Provides specialized adapters to organize card lists into distinct thematic sections. ([source](https://github.com/gabrielemariotti/cardslib/blob/master/CHANGELOG.md))
- [Visibility Toggling](https://awesome-repositories.com/f/user-interface-experience/card-components/visibility-toggling.md) — Implements expanding and collapsing card content via programmatic triggers and gestures. ([source](https://github.com/gabrielemariotti/cardslib/blob/master/CHANGELOG.md))
- [Grouped List Sections](https://awesome-repositories.com/f/user-interface-experience/custom-header-components/section-headers/grouped-list-sections.md) — Organizes card lists into distinct thematic blocks using specialized adapters for headers and items.
- [Drag-and-Drop Row Reorderers](https://awesome-repositories.com/f/user-interface-experience/drag-and-drop-row-reorderers.md) — Provides UI components that allow users to manually rearrange the sequence of cards via drag-and-drop.
- [Nested Component Hierarchies](https://awesome-repositories.com/f/user-interface-experience/nested-component-hierarchies.md) — Supports embedding list adapters inside parent card components to create multi-level content structures.
- [Nested Lists](https://awesome-repositories.com/f/user-interface-experience/nested-component-hierarchies/nested-lists.md) — Enables the embedding of list items directly inside card components for multi-level content structures. ([source](https://github.com/gabrielemariotti/cardslib/blob/master/CHANGELOG.md))
- [Notification Bars](https://awesome-repositories.com/f/user-interface-experience/notification-bars.md) — Implements customizable notification bars for temporary message alerts and undo actions.
- [List Item Swipe-to-Dismiss](https://awesome-repositories.com/f/user-interface-experience/toast-notifications/swipe-to-dismiss-gestures/list-item-swipe-to-dismiss.md) — Provides interactions to restrict and trigger actions via swipe gestures on structural list items.
- [Undo Notification Bars](https://awesome-repositories.com/f/user-interface-experience/toast-notifications/swipe-to-dismiss-gestures/undo-notification-bars.md) — Ships a customizable undo action notification bar that handles dynamic messages and reversal triggers.
- [Android Gesture Processings](https://awesome-repositories.com/f/user-interface-experience/touch-gesture-recognition-libraries/android-gesture-processings.md) — Implements Android-specific touch interception for swipe-to-dismiss actions and expandable card behaviors.
- [Undo Notification Bars](https://awesome-repositories.com/f/user-interface-experience/undo-notification-bars.md) — Ships a customizable undo action notification bar with dynamic messages and swipe-to-dismiss gestures. ([source](https://github.com/gabrielemariotti/cardslib/blob/master/CHANGELOG.md))
